wintrust(2/5): Save signer cert so chain can be created
Juan Lang
juan.lang at gmail.com
Wed Sep 12 11:03:40 CDT 2007
--Juan
-------------- next part --------------
From 3b2003a604e8c59fb9b587197e7a26d76abafbf0 Mon Sep 17 00:00:00 2001
From: Juan Lang <juan.lang at gmail.com>
Date: Wed, 12 Sep 2007 08:59:18 -0700
Subject: [PATCH] Save signer cert so chain can be created
---
dlls/wintrust/softpub.c | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/dlls/wintrust/softpub.c b/dlls/wintrust/softpub.c
index 2d892b5..86ef84e 100644
--- a/dlls/wintrust/softpub.c
+++ b/dlls/wintrust/softpub.c
@@ -375,17 +375,22 @@ static BOOL WINTRUST_VerifySigner(CRYPT_
if (certInfo)
{
- CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA para = { sizeof(para), 0, signerIdx,
- CMSG_VERIFY_SIGNER_CERT, NULL };
-
- para.pvSigner = (LPVOID)CertGetSubjectCertificateFromStore(
+ PCCERT_CONTEXT subject = CertGetSubjectCertificateFromStore(
data->pahStores[0], data->dwEncoding, certInfo);
- if (para.pvSigner)
+
+ if (subject)
{
+ CMSG_CTRL_VERIFY_SIGNATURE_EX_PARA para = { sizeof(para), 0,
+ signerIdx, CMSG_VERIFY_SIGNER_CERT, (LPVOID)subject };
+
ret = CryptMsgControl(data->hMsg, 0, CMSG_CTRL_VERIFY_SIGNATURE_EX,
¶);
if (!ret)
SetLastError(TRUST_E_CERT_SIGNATURE);
+ else
+ data->psPfns->pfnAddCert2Chain(data, signerIdx, FALSE, 0,
+ subject);
+ CertFreeCertificateContext(subject);
}
else
{
--
1.4.1
More information about the wine-patches
mailing list