Juan Lang : crypt32: Implement revocation check in CertVerifySubjectCertificateContext.

Alexandre Julliard julliard at wine.codeweavers.com
Mon Jul 10 07:12:13 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: b0dfe4048b39696cbfefa9db1c0f61f8808864a3
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=b0dfe4048b39696cbfefa9db1c0f61f8808864a3

Author: Juan Lang <juan_lang at 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;




More information about the wine-cvs mailing list