crypt32: Add support for CRL_FIND_ISSUED_BY_SIGNATURE_FLAG to CertFindCRLInStore.

This commit is contained in:
Juan Lang 2009-11-18 16:27:49 -08:00 committed by Alexandre Julliard
parent 8beed85a2c
commit 4727212e01
2 changed files with 5 additions and 1 deletions

View File

@ -116,6 +116,11 @@ static BOOL compare_crl_issued_by(PCCRL_CONTEXT pCrlContext, DWORD dwType,
ret = CertCompareCertificateName(issuer->dwCertEncodingType, ret = CertCompareCertificateName(issuer->dwCertEncodingType,
&issuer->pCertInfo->Issuer, &pCrlContext->pCrlInfo->Issuer); &issuer->pCertInfo->Issuer, &pCrlContext->pCrlInfo->Issuer);
if (ret && (dwFlags & CRL_FIND_ISSUED_BY_SIGNATURE_FLAG))
ret = CryptVerifyCertificateSignatureEx(0,
issuer->dwCertEncodingType,
CRYPT_VERIFY_CERT_SIGN_SUBJECT_CRL, (void *)pCrlContext,
CRYPT_VERIFY_CERT_SIGN_ISSUER_CERT, (void *)issuer, 0, NULL);
} }
else else
ret = TRUE; ret = TRUE;

View File

@ -382,7 +382,6 @@ static void testFindCRL(void)
/* Try various find flags */ /* Try various find flags */
context = pCertFindCRLInStore(store, 0, CRL_FIND_ISSUED_BY_SIGNATURE_FLAG, context = pCertFindCRLInStore(store, 0, CRL_FIND_ISSUED_BY_SIGNATURE_FLAG,
CRL_FIND_ISSUED_BY, cert, NULL); CRL_FIND_ISSUED_BY, cert, NULL);
todo_wine
ok(!context, "unexpected context\n"); ok(!context, "unexpected context\n");
/* The CRL doesn't have an AKI extension, so it matches any cert */ /* The CRL doesn't have an AKI extension, so it matches any cert */
context = pCertFindCRLInStore(store, 0, CRL_FIND_ISSUED_BY_AKI_FLAG, context = pCertFindCRLInStore(store, 0, CRL_FIND_ISSUED_BY_AKI_FLAG,