Juan Lang : crypt32: Add support for CRL_FIND_ISSUED_BY_SIGNATURE_FLAG to CertFindCRLInStore.

Alexandre Julliard julliard at winehq.org
Thu Nov 19 10:15:21 CST 2009


Module: wine
Branch: master
Commit: 4727212e012de9a60dd320d84f1a8edf5aaa23f7
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4727212e012de9a60dd320d84f1a8edf5aaa23f7

Author: Juan Lang <juan.lang at gmail.com>
Date:   Wed Nov 18 16:27:49 2009 -0800

crypt32: Add support for CRL_FIND_ISSUED_BY_SIGNATURE_FLAG to CertFindCRLInStore.

---

 dlls/crypt32/crl.c       |    5 +++++
 dlls/crypt32/tests/crl.c |    1 -
 2 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/dlls/crypt32/crl.c b/dlls/crypt32/crl.c
index f71e6a8..4f69a9d 100644
--- a/dlls/crypt32/crl.c
+++ b/dlls/crypt32/crl.c
@@ -116,6 +116,11 @@ static BOOL compare_crl_issued_by(PCCRL_CONTEXT pCrlContext, DWORD dwType,
 
         ret = CertCompareCertificateName(issuer->dwCertEncodingType,
          &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
         ret = TRUE;
diff --git a/dlls/crypt32/tests/crl.c b/dlls/crypt32/tests/crl.c
index 2d361a5..0eaf43a 100644
--- a/dlls/crypt32/tests/crl.c
+++ b/dlls/crypt32/tests/crl.c
@@ -382,7 +382,6 @@ static void testFindCRL(void)
     /* Try various find flags */
     context = pCertFindCRLInStore(store, 0, CRL_FIND_ISSUED_BY_SIGNATURE_FLAG,
      CRL_FIND_ISSUED_BY, cert, NULL);
-    todo_wine
     ok(!context, "unexpected context\n");
     /* The CRL doesn't have an AKI extension, so it matches any cert */
     context = pCertFindCRLInStore(store, 0, CRL_FIND_ISSUED_BY_AKI_FLAG,




More information about the wine-cvs mailing list