21.02.2005 17:38:33Problem Ответов: 1
Egor
У меня стоит Win2000 SP4 (KB 835732)
есть следующий код:
CryptAcquireContext(&hProv, NULL, NULL,2, CRYPT_VERIFYCONTEXT);

.......
pvSubject и pvIssuer - сертификаты RSA Verisignа

nRes = CryptVerifyCertificateSignatureEx(
hProv,
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
CRYPT_VERIFY_CERT_SIGN_SUBJECT_CERT,
pvSubject,
CRYPT_VERIFY_CERT_SIGN_ISSUER_CHAIN,
pvIssuer,
NULL,
NULL); //Здесь получаем exception на access violation в crypt32.dll

Почему валится?
 
Ответы:
22.02.2005 10:38:32kure
Посмотрите у нас в тестах reqcert.c


#if 0 /* Только для CryptoAPI с Win2000*/
/* Проверяем подпись*/
{
CRYPT_DATA_BLOB dbcert = { 0, NULL };

dbcert.pbData = cert;
dbcert.cbData = cert_len;

bResult = CryptVerifyCertificateSignatureEx(0,
TYPE_DER,
CRYPT_VERIFY_CERT_SIGN_SUBJECT_BLOB,
&dbcert,
CRYPT_VERIFY_CERT_SIGN_ISSUER_PUBKEY,
key_info,
0,
NULL);
}