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

Уведомление

Icon
Error

6 Страницы«<3456>
Опции
К последнему сообщению К первому непрочитанному
Offline artsb  
#41 Оставлено : 12 мая 2010 г. 15:10:46(UTC)
artsb

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

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
отправил в PM
Offline Kirill Sobolev  
#42 Оставлено : 12 мая 2010 г. 16:00:04(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Похоже CryptMsgControl не умеет добавлять сертификат к отсоединенной подписи.
Видимо, Вам придется все же использовать CryptEncodeObject.
Техническую поддержку оказываем тут
Наша база знаний
Offline artsb  
#43 Оставлено : 12 мая 2010 г. 16:33:48(UTC)
artsb

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

Группы: Участники
Зарегистрирован: 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) // получаем результат
Offline Kirill Sobolev  
#44 Оставлено : 12 мая 2010 г. 16:36:36(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Нет, CryptMsg* вообще не причем.
Посмотрите RFC 5652 по формату PKCS#7.
Техническую поддержку оказываем тут
Наша база знаний
Offline artsb  
#45 Оставлено : 12 мая 2010 г. 18:25:02(UTC)
artsb

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

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Посмотрел и ничего не понял...
Вызовом CryptEncodeObject я получу закодированный сертификат. А дальше что делать, не пойму...
Offline Kirill Sobolev  
#46 Оставлено : 12 мая 2010 г. 19:02:16(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Вам надо будет вручную собрать PKCS#7 согласно стандарту, используя CryptEncodeObject.
Техническую поддержку оказываем тут
Наша база знаний
Offline artsb  
#47 Оставлено : 12 мая 2010 г. 19:14:41(UTC)
artsb

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

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Ё-моё. Мне это уже не нравится.
А средствами WinAPI никак?

И ещё такой момент: ели даже я соберу, можно ли будет средствами WinAPI всё это дело потом разобрать? Т.е. вытащить ЭЦП и сертификат.

Отредактировано пользователем 12 мая 2010 г. 19:27:45(UTC)  | Причина: Не указана

Offline Kirill Sobolev  
#48 Оставлено : 12 мая 2010 г. 19:37:36(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Мне это тоже не нравится, хотелось бы конечно заставить CryptMsgControl.
CryptDecodeObject это и есть winapi, конечно все будет можно разобрать.
Техническую поддержку оказываем тут
Наша база знаний
Offline artsb  
#49 Оставлено : 12 мая 2010 г. 19:46:01(UTC)
artsb

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

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Kirill Sobolev написал:
Похоже CryptMsgControl не умеет добавлять сертификат к отсоединенной подписи.

Можете подробнее про это рассказать? Как вы это узнали?

А если на выходе будет не PKCS#7, а другой формат. Можно что-то сделать?
Offline artsb  
#50 Оставлено : 12 мая 2010 г. 20:02:41(UTC)
artsb

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

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Сейчас, при использовании CryptMsgControl, я сначала добавляю подпись (с помощью CryptMsgUpdate), а уже потом сертификат (с помощью CryptMsgControl). Может нужно наоборот? Или это не важно?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (5)
6 Страницы«<3456>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.