Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline NH  
#1 Оставлено : 20 апреля 2010 г. 20:28:30(UTC)
NH

Статус: Новичок

Группы: Участники
Зарегистрирован: 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."

Подскажите пож., что я делаю неправильно...
Offline Челпанов А.  
#2 Оставлено : 21 апреля 2010 г. 12:02:58(UTC)
Челпанов А.

Статус: Активный участник

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
Не силен в CapiCom, но...
В Sharpei (.Net) осуществляется подпись бинарных данных, являющихся Unicode представлением строки "Подписываемый документ". В CAPICOM подписываются бинарные данные, являющиеся представлением строки "Подписываемый документ" в текущей кодировке.
encodedSignature и dataCms одно и то же?
С уважением, Александр.
Offline NH  
#3 Оставлено : 21 апреля 2010 г. 14:00:52(UTC)
NH

Статус: Новичок

Группы: Участники
Зарегистрирован: 19.04.2010(UTC)
Сообщений: 4
Откуда: Kazan

да, это одно и тоже. (Не досмотрел при написании сообщения)
Offline Челпанов А.  
#4 Оставлено : 21 апреля 2010 г. 14:10:39(UTC)
Челпанов А.

Статус: Активный участник

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
Про совместимость с CAPICOM, кодировки, и примеры из Microsoft SDK см. ветку форума
С уважением, Александр.
Offline Kirill Sobolev  
#5 Оставлено : 21 апреля 2010 г. 15:44:23(UTC)
Кирилл Соболев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,732
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Самый простой способ проверить соответствие или несоответствие кодировок подписанного и проверяемого документов - сделать присоединенную подпись и затем посмотреть ее dumpasn1 или аналогичной утилитой.
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.