Статус: Активный участник
Группы: Участники
Зарегистрирован: 06.05.2010(UTC) Сообщений: 103 Откуда: центр Вселенной
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Похоже CryptMsgControl не умеет добавлять сертификат к отсоединенной подписи. Видимо, Вам придется все же использовать CryptEncodeObject.
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 06.05.2010(UTC) Сообщений: 103 Откуда: центр Вселенной
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
Подскажите пожалуйста последовательность вызовов функций. Так что ли будет: CryptMsgOpenToDecode(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, CMSG_DETACHED_FLAG, 0, NULL, NULL, NULL) CryptMsgUpdate(hMsg, bECP, iECPLen, false) // добавляем ЭЦП CryptEncodeObject(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING, PKCS_CONTENT_INFO, ..., bResCert, iResCertLen) CryptMsgUpdate(hMsg, bResCert, iResCertLen, true) // добавляем сертификат CryptMsgGetParam(hMsg, CMSG_ENCODED_MESSAGE, 0, bRes, &iSize) // получаем результат
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Нет, CryptMsg* вообще не причем. Посмотрите RFC 5652 по формату PKCS#7. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 06.05.2010(UTC) Сообщений: 103 Откуда: центр Вселенной
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
Посмотрел и ничего не понял... Вызовом CryptEncodeObject я получу закодированный сертификат. А дальше что делать, не пойму...
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Вам надо будет вручную собрать PKCS#7 согласно стандарту, используя CryptEncodeObject. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 06.05.2010(UTC) Сообщений: 103 Откуда: центр Вселенной
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
Ё-моё. Мне это уже не нравится. А средствами WinAPI никак? И ещё такой момент: ели даже я соберу, можно ли будет средствами WinAPI всё это дело потом разобрать? Т.е. вытащить ЭЦП и сертификат. Отредактировано пользователем 12 мая 2010 г. 19:27:45(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Мне это тоже не нравится, хотелось бы конечно заставить CryptMsgControl. CryptDecodeObject это и есть winapi, конечно все будет можно разобрать. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 06.05.2010(UTC) Сообщений: 103 Откуда: центр Вселенной
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
Kirill Sobolev написал:Похоже CryptMsgControl не умеет добавлять сертификат к отсоединенной подписи. Можете подробнее про это рассказать? Как вы это узнали? А если на выходе будет не PKCS#7, а другой формат. Можно что-то сделать?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 06.05.2010(UTC) Сообщений: 103 Откуда: центр Вселенной
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
Сейчас, при использовании CryptMsgControl, я сначала добавляю подпись (с помощью CryptMsgUpdate), а уже потом сертификат (с помощью CryptMsgControl). Может нужно наоборот? Или это не важно?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close