Juan Lang : winhttp: Return signature algorithm name in WINHTTP_CERTIFICATE_INFO.

Alexandre Julliard julliard at winehq.org
Fri Oct 1 11:38:43 CDT 2010


Module: wine
Branch: master
Commit: 302dd345fed576b70ba4d0b49fa6f6773fd682bb
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=302dd345fed576b70ba4d0b49fa6f6773fd682bb

Author: Juan Lang <juan.lang at gmail.com>
Date:   Wed Sep 29 09:34:04 2010 -0700

winhttp: Return signature algorithm name in WINHTTP_CERTIFICATE_INFO.

---

 dlls/winhttp/session.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/dlls/winhttp/session.c b/dlls/winhttp/session.c
index bed19a1..7f6350f 100644
--- a/dlls/winhttp/session.c
+++ b/dlls/winhttp/session.c
@@ -615,6 +615,7 @@ static BOOL request_query_option( object_header_t *hdr, DWORD option, LPVOID buf
     case WINHTTP_OPTION_SECURITY_CERTIFICATE_STRUCT:
     {
         const CERT_CONTEXT *cert;
+        const CRYPT_OID_INFO *oidInfo;
         WINHTTP_CERTIFICATE_INFO *ci = buffer;
 
         FIXME("partial stub\n");
@@ -632,7 +633,13 @@ static BOOL request_query_option( object_header_t *hdr, DWORD option, LPVOID buf
         ci->lpszSubjectInfo = blob_to_str( cert->dwCertEncodingType, &cert->pCertInfo->Subject );
         ci->lpszIssuerInfo  = blob_to_str( cert->dwCertEncodingType, &cert->pCertInfo->Issuer );
         ci->lpszProtocolName      = NULL;
-        ci->lpszSignatureAlgName  = NULL;
+        oidInfo = CryptFindOIDInfo( CRYPT_OID_INFO_OID_KEY,
+                                    cert->pCertInfo->SignatureAlgorithm.pszObjId,
+                                    0 );
+        if (oidInfo)
+            ci->lpszSignatureAlgName = (LPWSTR)oidInfo->pwszName;
+        else
+            ci->lpszSignatureAlgName  = NULL;
         ci->lpszEncryptionAlgName = NULL;
         ci->dwKeySize = 128;
 




More information about the wine-cvs mailing list