Juan Lang : wintrust: Use helper function for setting confidence in SoftpubCheckCert.
Alexandre Julliard
julliard at winehq.org
Tue Sep 30 11:15:40 CDT 2008
Module: wine
Branch: master
Commit: c20a617aecb5ea58058db93cdfb6c715eaee5e59
URL: http://source.winehq.org/git/wine.git/?a=commit;h=c20a617aecb5ea58058db93cdfb6c715eaee5e59
Author: Juan Lang <juan.lang at gmail.com>
Date: Sat Sep 27 11:32:04 2008 -0700
wintrust: Use helper function for setting confidence in SoftpubCheckCert.
---
dlls/wintrust/softpub.c | 44 +++++++++++++++++---------------------------
1 files changed, 17 insertions(+), 27 deletions(-)
diff --git a/dlls/wintrust/softpub.c b/dlls/wintrust/softpub.c
index 9ee1ba7..918e103 100644
--- a/dlls/wintrust/softpub.c
+++ b/dlls/wintrust/softpub.c
@@ -501,6 +501,20 @@ HRESULT WINAPI SoftpubLoadSignature(CRYPT_PROVIDER_DATA *data)
return ret ? S_OK : S_FALSE;
}
+static DWORD WINTRUST_TrustStatusToConfidence(DWORD errorStatus)
+{
+ DWORD confidence = 0;
+
+ confidence = 0;
+ if (!(errorStatus & CERT_TRUST_IS_NOT_SIGNATURE_VALID))
+ confidence |= CERT_CONFIDENCE_SIG;
+ if (!(errorStatus & CERT_TRUST_IS_NOT_TIME_VALID))
+ confidence |= CERT_CONFIDENCE_TIME;
+ if (!(errorStatus & CERT_TRUST_IS_NOT_TIME_NESTED))
+ confidence |= CERT_CONFIDENCE_TIMENEST;
+ return confidence;
+}
+
BOOL WINAPI SoftpubCheckCert(CRYPT_PROVIDER_DATA *data, DWORD idxSigner,
BOOL fCounterSignerChain, DWORD idxCounterSigner)
{
@@ -524,19 +538,9 @@ BOOL WINAPI SoftpubCheckCert(CRYPT_PROVIDER_DATA *data, DWORD idxSigner,
for (i = 0; i < simpleChain->cElement; i++)
{
/* Set confidence */
- data->pasSigners[idxSigner].pasCertChain[i].dwConfidence = 0;
- if (!(simpleChain->rgpElement[i]->TrustStatus.dwErrorStatus &
- CERT_TRUST_IS_NOT_TIME_VALID))
- data->pasSigners[idxSigner].pasCertChain[i].dwConfidence
- |= CERT_CONFIDENCE_TIME;
- if (!(simpleChain->rgpElement[i]->TrustStatus.dwErrorStatus &
- CERT_TRUST_IS_NOT_TIME_NESTED))
- data->pasSigners[idxSigner].pasCertChain[i].dwConfidence
- |= CERT_CONFIDENCE_TIMENEST;
- if (!(simpleChain->rgpElement[i]->TrustStatus.dwErrorStatus &
- CERT_TRUST_IS_NOT_SIGNATURE_VALID))
- data->pasSigners[idxSigner].pasCertChain[i].dwConfidence
- |= CERT_CONFIDENCE_SIG;
+ data->pasSigners[idxSigner].pasCertChain[i].dwConfidence =
+ WINTRUST_TrustStatusToConfidence(
+ simpleChain->rgpElement[i]->TrustStatus.dwErrorStatus);
/* Set additional flags */
if (!(simpleChain->rgpElement[i]->TrustStatus.dwErrorStatus &
CERT_TRUST_IS_UNTRUSTED_ROOT))
@@ -552,20 +556,6 @@ BOOL WINAPI SoftpubCheckCert(CRYPT_PROVIDER_DATA *data, DWORD idxSigner,
return ret;
}
-static DWORD WINTRUST_TrustStatusToConfidence(DWORD errorStatus)
-{
- DWORD confidence = 0;
-
- confidence = 0;
- if (!(errorStatus & CERT_TRUST_IS_NOT_SIGNATURE_VALID))
- confidence |= CERT_CONFIDENCE_SIG;
- if (!(errorStatus & CERT_TRUST_IS_NOT_TIME_VALID))
- confidence |= CERT_CONFIDENCE_TIME;
- if (!(errorStatus & CERT_TRUST_IS_NOT_TIME_NESTED))
- confidence |= CERT_CONFIDENCE_TIMENEST;
- return confidence;
-}
-
static DWORD WINTRUST_TrustStatusToError(DWORD errorStatus)
{
DWORD error;
More information about the wine-cvs
mailing list