wintrust(2/4): Implement WTHelperGetProvCertFromChain

Juan Lang juan.lang at gmail.com
Tue Aug 14 17:39:40 CDT 2007


--Juan
-------------- next part --------------
From 052f294f99265c83b5fdec20b28623700f69274f Mon Sep 17 00:00:00 2001
From: Juan Lang <juan.lang at gmail.com>
Date: Tue, 14 Aug 2007 10:16:10 -0700
Subject: [PATCH] Implement WTHelperGetProvCertFromChain
---
 dlls/wintrust/wintrust.spec   |    2 +-
 dlls/wintrust/wintrust_main.c |   17 +++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/dlls/wintrust/wintrust.spec b/dlls/wintrust/wintrust.spec
index 9242120..b822cbe 100644
--- a/dlls/wintrust/wintrust.spec
+++ b/dlls/wintrust/wintrust.spec
@@ -80,7 +80,7 @@
 @ stub WTHelperGetFileHandle
 @ stub WTHelperGetFileName
 @ stub WTHelperGetKnownUsages
-@ stub WTHelperGetProvCertFromChain
+@ stdcall WTHelperGetProvCertFromChain(ptr long)
 @ stub WTHelperGetProvPrivateDataFromChain
 @ stdcall WTHelperGetProvSignerFromChain(ptr long long long)
 @ stub WTHelperIsInRootStore
diff --git a/dlls/wintrust/wintrust_main.c b/dlls/wintrust/wintrust_main.c
index 8e7859d..f93cb07 100644
--- a/dlls/wintrust/wintrust_main.c
+++ b/dlls/wintrust/wintrust_main.c
@@ -125,6 +125,23 @@ CRYPT_PROVIDER_SGNR * WINAPI WTHelperGet
 }
 
 /***********************************************************************
+ *		WTHelperGetProvCertFromChain (WINTRUST.@)
+ */
+CRYPT_PROVIDER_CERT * WINAPI WTHelperGetProvCertFromChain(
+ CRYPT_PROVIDER_SGNR *pSgnr, DWORD idxCert)
+{
+    CRYPT_PROVIDER_CERT *cert;
+
+    TRACE("(%p %d)\n", pSgnr, idxCert);
+
+    if (idxCert >= pSgnr->csCertChain || !pSgnr->pasCertChain)
+        return NULL;
+    cert = &pSgnr->pasCertChain[idxCert];
+    TRACE("returning %p\n", cert);
+    return cert;
+}
+
+/***********************************************************************
  *		WTHelperProvDataFromStateData (WINTRUST.@)
  */
 CRYPT_PROVIDER_DATA * WINAPI WTHelperProvDataFromStateData(HANDLE hStateData)
-- 
1.4.1


More information about the wine-patches mailing list