From bb617eb33695089def9656b382c5dabe071af9e5 Mon Sep 17 00:00:00 2001 From: Juan Lang Date: Mon, 26 Nov 2007 11:49:36 -0800 Subject: [PATCH] Implement finding an existing certificate in a store --- dlls/crypt32/cert.c | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/dlls/crypt32/cert.c b/dlls/crypt32/cert.c index b3808ff..97f9360 100644 --- a/dlls/crypt32/cert.c +++ b/dlls/crypt32/cert.c @@ -1084,6 +1084,14 @@ static BOOL compare_cert_by_issuer(PCCER return ret; } +static BOOL compare_existing_cert(PCCERT_CONTEXT pCertContext, DWORD dwType, + DWORD dwFlags, const void *pvPara) +{ + PCCERT_CONTEXT toCompare = (PCCERT_CONTEXT)pvPara; + return CertCompareCertificate(pCertContext->dwCertEncodingType, + pCertContext->pCertInfo, toCompare->pCertInfo); +} + PCCERT_CONTEXT WINAPI CertFindCertificateInStore(HCERTSTORE hCertStore, DWORD dwCertEncodingType, DWORD dwFlags, DWORD dwType, const void *pvPara, PCCERT_CONTEXT pPrevCertContext) @@ -1117,6 +1125,9 @@ PCCERT_CONTEXT WINAPI CertFindCertificat case CERT_COMPARE_ISSUER_OF: compare = compare_cert_by_issuer; break; + case CERT_COMPARE_EXISTING: + compare = compare_existing_cert; + break; default: FIXME("find type %08x unimplemented\n", dwType); compare = NULL; -- 1.4.1