Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.08.2009(UTC) Сообщений: 60
|
Здравствуйте.
Стандартная ситуация - проверяю ЭЦП в XML файле. Помимо ЭЦП в файле находится сертификат в теге /KeyInfo/X509Data/X509Certificate. (Подписывал через парсер MSXML, который данный тег и заполнил).
Столкнулся со следующей проблемой. Никак не могу получить контекст сертификата PCCERT_CONTEXT из объекта IXMLDsigKey, в котором у меня находится ключ связанный с сертификатом.
ЭЦП проверяю при помощи парсера MSXML5.0
xmldoc->selectSingleNode xmldsig->createKeyFromNode xmldsig->verify Проверка ЭЦП проходит успешно. Осталось проверить цепочку сертификатов и дело в шляпе. И вот в этом месте я остановился и не могу пройти дальше.
В примерах которые я смотрел контекст получается либо при помощи CertCreateCertificateContext, либо при помощи CertFindCertificateInStore, что мне не совсем подходит, т.к.: 1) сертификата в хранилище может не быть. он может появится там позднее по бизнес-процессу, если пользователь примет такое решение. 2) сертификт уже лежит в подписанном XML. Его нужно только оттуда вытащить и все.
В примере для CSP 3.6 данный этап реализован через вызовы CAPICOM, но я хотел бы сделать это через вызовы CryptoAPI.
Подскажите можно ли в данном случае инициализировать PCCERT_CONTEXT? Если да, то в сторону каких функций мне посмотреть?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Нужно у полученного из IXMLDsigKey сертификата запросить свойство CertContext интерфейса ICertContext - как раз PCERT_CONTEXT и получите. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.08.2009(UTC) Сообщений: 60
|
Кирилл, я правильно понял, что получится следующая цепочка: IXMLDsigKey - ICertContext (CAPICOM 2.0) - PCERT_CONTEXT ?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.08.2009(UTC) Сообщений: 60
|
Все-таки сделал через IChain2 (CAPICOM), поэтому вопрос снимается. Однако его решения в чистом виде на CryptoAPI я так и не нашел.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Цитата:IXMLDsigKey - ICertContext (CAPICOM 2.0) - PCERT_CONTEXT ? Я бы даже сказал IXMLDsigKey - ICertificate(CAPICOM 2.0) - ICertContext (CAPICOM 2.0) - PCERT_CONTEXT |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close