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