Juan Lang : crypt32: Implement CertFindCertificateInStore for CERT_FIND_PUBLIC_KEY.
Alexandre Julliard
julliard at winehq.org
Wed Jan 28 08:02:54 CST 2009
Module: wine
Branch: master
Commit: bf0406cf3a2f9450983e4b48537dfe9f12fdf707
URL: http://source.winehq.org/git/wine.git/?a=commit;h=bf0406cf3a2f9450983e4b48537dfe9f12fdf707
Author: Juan Lang <juan.lang at gmail.com>
Date: Tue Jan 27 09:00:40 2009 -0800
crypt32: Implement CertFindCertificateInStore for CERT_FIND_PUBLIC_KEY.
---
dlls/crypt32/cert.c | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/dlls/crypt32/cert.c b/dlls/crypt32/cert.c
index 3d2b3de..5c2c786 100644
--- a/dlls/crypt32/cert.c
+++ b/dlls/crypt32/cert.c
@@ -966,6 +966,17 @@ static BOOL compare_cert_by_name(PCCERT_CONTEXT pCertContext, DWORD dwType,
return ret;
}
+static BOOL compare_cert_by_public_key(PCCERT_CONTEXT pCertContext,
+ DWORD dwType, DWORD dwFlags, const void *pvPara)
+{
+ CERT_PUBLIC_KEY_INFO *publicKey = (CERT_PUBLIC_KEY_INFO *)pvPara;
+ BOOL ret;
+
+ ret = CertComparePublicKeyInfo(pCertContext->dwCertEncodingType,
+ &pCertContext->pCertInfo->SubjectPublicKeyInfo, publicKey);
+ return ret;
+}
+
static BOOL compare_cert_by_subject_cert(PCCERT_CONTEXT pCertContext,
DWORD dwType, DWORD dwFlags, const void *pvPara)
{
@@ -1201,6 +1212,9 @@ PCCERT_CONTEXT WINAPI CertFindCertificateInStore(HCERTSTORE hCertStore,
case CERT_COMPARE_NAME:
compare = compare_cert_by_name;
break;
+ case CERT_COMPARE_PUBLIC_KEY:
+ compare = compare_cert_by_public_key;
+ break;
case CERT_COMPARE_SUBJECT_CERT:
compare = compare_cert_by_subject_cert;
break;
More information about the wine-cvs
mailing list