Module: wine Branch: refs/heads/master Commit: b0dfe4048b39696cbfefa9db1c0f61f8808864a3 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=b0dfe4048b39696cbfefa9db...
Author: Juan Lang juan_lang@yahoo.com Date: Fri Jul 7 13:19:53 2006 -0700
crypt32: Implement revocation check in CertVerifySubjectCertificateContext.
---
dlls/crypt32/cert.c | 10 +++++++--- 1 files changed, 7 insertions(+), 3 deletions(-)
diff --git a/dlls/crypt32/cert.c b/dlls/crypt32/cert.c index 2bcc4f7..eabea82 100644 --- a/dlls/crypt32/cert.c +++ b/dlls/crypt32/cert.c @@ -731,12 +731,16 @@ BOOL WINAPI CertVerifySubjectCertificate } if (*pdwFlags & CERT_STORE_REVOCATION_FLAG) { - PCCRL_CONTEXT crl = CertFindCRLInStore(pSubject->hCertStore, - pSubject->dwCertEncodingType, 0, CRL_FIND_ISSUED_BY, pSubject, NULL); + DWORD flags = 0; + PCCRL_CONTEXT crl = CertGetCRLFromStore(pSubject->hCertStore, pSubject, + NULL, &flags);
+ /* FIXME: what if the CRL has expired? */ if (crl) { - FIXME("check CRL for subject\n"); + if (CertVerifyCRLRevocation(pSubject->dwCertEncodingType, + pSubject->pCertInfo, 1, (PCRL_INFO *)&crl->pCrlInfo)) + *pdwFlags &= CERT_STORE_REVOCATION_FLAG; } else *pdwFlags |= CERT_STORE_NO_CRL_FLAG;