Статус: Новичок
Группы: Участники
Зарегистрирован: 19.04.2010(UTC) Сообщений: 4 Откуда: Kazan
|
Добрый день! При помощи CAPICOM`а подписываю документ
string Документ = "Подписываемый документ" ИнтерфейсПодписиДанных.GetType().InvokeMember("Content", BindingFlags.SetProperty, null, ИнтерфейсПодписиДанных, new object[] { Документ }); Подпись = (string)ИнтерфейсПодписиДанных.GetType().InvokeMember("Sign", BindingFlags.InvokeMethod, null, ИнтерфейсПодписиДанных, new object[] { ИнтерфейсСертификата, true, CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64 });
Далее полученную подпись проверяю след. образом
byte[] msg = Encoding.Unicode.GetBytes( Документ );
byte[] dataCms = Convert.FromBase64String(Подпись);
ContentInfo contentInfo = new ContentInfo(msg); SignedCms signedCms = new SignedCms(contentInfo, true); signedCms.Decode(encodedSignature);
signedCms.CheckSignature(true); // здесь он мне говорит что "The hash value is not correct."
Подскажите пож., что я делаю неправильно...
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.12.2007(UTC) Сообщений: 390 Откуда: КриптоПро Поблагодарили: 2 раз в 2 постах
|
Не силен в CapiCom, но... В Sharpei (.Net) осуществляется подпись бинарных данных, являющихся Unicode представлением строки "Подписываемый документ". В CAPICOM подписываются бинарные данные, являющиеся представлением строки "Подписываемый документ" в текущей кодировке. encodedSignature и dataCms одно и то же?
|
С уважением, Александр. |
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.04.2010(UTC) Сообщений: 4 Откуда: Kazan
|
да, это одно и тоже. (Не досмотрел при написании сообщения)
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.12.2007(UTC) Сообщений: 390 Откуда: КриптоПро Поблагодарили: 2 раз в 2 постах
|
Про совместимость с CAPICOM, кодировки, и примеры из Microsoft SDK см. ветку форума |
С уважением, Александр. |
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,732 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Самый простой способ проверить соответствие или несоответствие кодировок подписанного и проверяемого документов - сделать присоединенную подпись и затем посмотреть ее dumpasn1 или аналогичной утилитой. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close