Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ 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 Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.