17.04.2007 13:36:13 | e-mail из сертификата | | Ответов: 10 |
|
Волков | | |
|
Как получить e-mail из сертификата? |
|
Ответы:
|
17.04.2007 15:12:27 | Kirill Sobolev |
|
Если речь идет о получении email из полей Issuer или Subject, то проще всего сначала найти его (CertFindRDNAttr), потом декодировать (CertRDNValueToStr) |
|
17.04.2007 15:14:11 | Kirill Sobolev |
|
А если надо получить email из Subject или из SubjectAltName, то можно воспользоваться CertGetNameString. |
|
|
Нельзя ли чуть поподробнее про CertFindRDNAttr? Как с помощью этой функции получить результат? |
|
18.04.2007 11:02:18 | Kirill Sobolev |
|
http://msdn2.microsoft.com/en-us/library/aa376069.aspx |
|
18.04.2007 13:06:56 | Волков |
|
Какой указывать OID для электронной почты, а второй параметр это структура CERT_NAME_INFO где ее взять если у меня только контекст сертификата? |
|
18.04.2007 13:29:53 | Kirill Sobolev |
|
OID для email 1.2.840.113549.1.9.1 (szOID_RSA_emailAddr из wincrypt.h)
CERT_INFO - это декодированный Issuer или Subject из CERT_CONTEXT::CERT_INFO |
|
18.04.2007 13:46:59 | Александр |
|
szOID_RSA_emailAddr
Есть стандартные OID-ы для структуры RDN. Смотри MSDN. В частности структуру CERT_RDN_ATTR. Тебе сюда http://msdn2.microsoft.com/en-us/library/aa377501.aspx |
|
18.04.2007 14:59:18 | Волков |
|
Надо cделать так:
cbEncoded = CertContext->pCertInfo->Subject потом декодировать cbEncoded CryptDecodeObject и то что получится передавать во втором параметре? |
|
18.04.2007 15:20:30 | Kirill Sobolev |
|
Совершенно верно. |
|
19.04.2007 10:03:55 | Волков |
|
Большое спасибо за помощь! |
|