26.02.2007 11:00:13 | Получение дескриптора открытого ключа | | Ответов: 5 |
|
Волков | | |
|
Как получить дескриптор открытого ключа, из сертификата который я установил из файла *.cer? В каком контейнере он лежит? Сертификат получен на вашем тестовом УЦ. Заранее благодарен. |
|
Ответы:
|
26.02.2007 12:20:42 | Kirill Sobolev |
|
Он не лежит в контейнере, Вам придется самим сделать CryptAcquireContext с флагом CRYPT_VERIFYCONTEXT, а затем сделать CryptImportPublicKeyInfoEx для CERT_CONTEXT::CERT_INFO::SubjectPublicKeyInfo. |
|
26.02.2007 13:24:09 | Волков |
|
Я так понял что нужно сначала создать контейнер а потом импортировать туда сертификат, который в последствии и будет использоваться? Если да то почему тогда функцию CryptAcquireContext вызывается с параметром CRYPT_VERIFYCONTEXT? |
|
26.02.2007 14:05:49 | Kirill Sobolev |
|
Да, все так - только импортировать не сертификат а ОК. CRYPT_VERIFYCONTEXT надо использовать потому что не предполагается использовать секретный ключ. |
|
26.02.2007 14:43:02 | Волков |
|
А нельзя структуру PCCERT_CONTEXT Заполнить функциец CertFindCertificateInStore, а не создавать контейнер? Вообще нужно просто экспортировать открытый ключ из сертификата получателя шифрованного сообщения. |
|
26.02.2007 15:18:09 | Kirill Sobolev |
|
Можно заполнить через CertFindCertificateInStore, только контейнер тут непричем - он нужен для ключа а не для контекста сертификата. Контейнер конечно можно (и нужно) не создавать, я для этого про CRYPT_VERIFYCONTEXT и написал. Никакой контейнер не создастся, а при вызове pszContainer как раз дб NULL. |
|