| ||||
| ||||
Делаю запрос на сертификат на вашем сервер, форму заполняю полность, и пытаюсь программно получить введенную информацию из сертификата следующим образом, но получаю только e-mail: CryptDecodeObjectEx( MY_TYPE, X509_NAME, NameBlob.pbData, NameBlob.cbData, CRYPT_DECODE_NOCOPY_FLAG, NULL, NULL, &cbDecoded); pbDecoded=(BYTE *)malloc(cbDecoded); CryptDecodeObjectEx( MY_TYPE, X509_NAME, NameBlob.pbData, NameBlob.cbData, CRYPT_DECODE_NOCOPY_FLAG, NULL, pbDecoded, &cbDecoded); pDecodedName=(CERT_NAME_INFO *)pbDecoded; DecodedAttr=CertFindRDNAttr( szOID_RSA_emailAddr, pDecodedName); if(DecodedAttr!=0) { AttrValue=DecodedAttr->Value; Value=AttrValue.pbData; EAdress=(char* )Value; csz=CertRDNValueToStr( CERT_RDN_PRINTABLE_STRING, pAttrValue, NULL, csz); psz=(LPTSTR)malloc(csz); csz=CertRDNValueToStr( CERT_RDN_PRINTABLE_STRING, pAttrValue, psz, csz); } В чем проблема? | ||||
Ответы: | ||||
| ||||
Hello! Good Site! Thanks you! jsykjjtyybjivk | ||||
| ||||
у вас в коде стоит szOID_RSA_emailAddr - это идентификатор емайла. Еще, например, есть szOID_COMMON_NAME, szOID_ORGANIZATION_NAME, szOID_COUNTRY_NAME и др. | ||||
| ||||
полученная информация будет в Unicode | ||||