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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline EugeneL  
#1 Оставлено : 9 июля 2009 г. 23:35:34(UTC)
EugeneL

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

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

Приветствую!

Объясните кто-нибудь, как работает функция CryptSignMessage. Меня интересует как она подписывает данные и подписываемые атрибуты. Отдельно друг от друга или сливает вместе, а затем подписывает., если отдельно то где в cms контейнере это все хранится? Для меня это вообще не понятно. У меня такое понимание: что можно подписать либо подписываемые атрибуты один из которых хэш данных, либо подписать только сами данные(т.е хэш от данных). Насколько я знаю в cms контейнере находится одна подпись.
Структура SignerInfo содержит подписываемые атрибуты(authenticatedAttributes) и саму подпись(encryptedDigest). На что накладывает функция CryptSignMessage подпись?

Благодарю за ответ.

С уважением, Евгений.
Offline Юрий  
#2 Оставлено : 10 июля 2009 г. 0:33:01(UTC)
Юрий

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

Группы: Участники
Зарегистрирован: 22.01.2008(UTC)
Сообщений: 671
Мужчина
Российская Федерация
Откуда: Йошкар-Ола

Сказал «Спасибо»: 3 раз
Поблагодарили: 95 раз в 68 постах
RFC 3852

Отредактировано пользователем 10 июля 2009 г. 0:35:50(UTC)  | Причина: Не указана

С уважением,
Юрий Строжевский
Offline EugeneL  
#3 Оставлено : 10 июля 2009 г. 20:16:55(UTC)
EugeneL

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

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

Из RFC я понял, что подписываются либо данные, либо атрибуты, в составе которых имеется хэш данных.
Меня интересует ситуация, когда имеются подписываемые атрибуты при формировании ЭЦП и она формируется с помощью CAPICOM.
Если я пытаюсь проверить эту ЭЦП с помощью функции CryptVerifyDetachedMessageSignature, передав ей encoded authenticatedAttributes(в качестве данных, которые подписывались) и encryptedDigest из SignerInfo, то у меня вываливается исключение "Встречено неверное значение тега ASN1. (0x8009310b)" Но если беру вместо encryptedDigest , сформированный мною из SignerInfo объект ContentInfo, получаю его массив данных(encoded) и отправляю на проверку данные(которые подписывал) и encoded ContentInfo, то все ок. Что я не понимаю, подскажите. Почему проверка не работает с encryptedDigest. Я же пытаюсь проверить подписанные атрибуты.

Отредактировано пользователем 10 июля 2009 г. 22:12:53(UTC)  | Причина: Не указана

Offline srost  
#4 Оставлено : 12 ноября 2009 г. 12:44:25(UTC)
srost

Статус: Участник

Группы: Участники
Зарегистрирован: 18.09.2008(UTC)
Сообщений: 12

Меня тоже интересует данный вопрос: можно ли имея только Encrypted Digest и исходные данные выполнить проверку подписи (при условии что у нас нет PKCS7 структуры, в которой обычно хранится подпись) ? Think
Offline Kirill Sobolev  
#5 Оставлено : 12 ноября 2009 г. 13:30:17(UTC)
Кирилл Соболев

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

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

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