19.06.2007 14:31:39Извлечение аттрибутов сертификата Ответов: 3
Волков
Делаю запрос на сертификат на вашем сервер, форму заполняю полность, и пытаюсь программно получить введенную информацию из сертификата следующим образом, но получаю только 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);
}
В чем проблема?
 
Ответы:
13.08.2007 0:35:39ylahduzwfh
Hello! Good Site! Thanks you! jsykjjtyybjivk
15.08.2007 11:46:06Андрей
у вас в коде стоит szOID_RSA_emailAddr - это идентификатор емайла. Еще, например, есть szOID_COMMON_NAME, szOID_ORGANIZATION_NAME, szOID_COUNTRY_NAME и др.
15.08.2007 11:51:21Андрей
полученная информация будет в Unicode