Dmitry Timoshkov : crypt32: Implement CryptImportPublicKeyInfoEx2.

Alexandre Julliard julliard at winehq.org
Tue Oct 26 09:40:27 CDT 2021


Module: wine
Branch: stable
Commit: fa4714e6045fdc4e25a0943bd9ef1936606b2755
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=fa4714e6045fdc4e25a0943bd9ef1936606b2755

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Mon Apr 12 15:20:57 2021 +0300

crypt32: Implement CryptImportPublicKeyInfoEx2.

Signed-off-by: Dmitry Timoshkov <dmitry at baikal.ru>
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
(cherry picked from commit c2c7946680b61bfccd4c4f5788864d4130af9baf)
Signed-off-by: Michael Stefaniuc <mstefani at winehq.org>

---

 dlls/crypt32/cert.c            | 2 +-
 dlls/crypt32/crypt32_private.h | 2 ++
 dlls/crypt32/encode.c          | 9 ++++++---
 3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/dlls/crypt32/cert.c b/dlls/crypt32/cert.c
index aad8fa047b7..95e2746a7d5 100644
--- a/dlls/crypt32/cert.c
+++ b/dlls/crypt32/cert.c
@@ -2689,7 +2689,7 @@ done:
     return !status;
 }
 
-static BOOL CNG_ImportPubKey(CERT_PUBLIC_KEY_INFO *pubKeyInfo, BCRYPT_KEY_HANDLE *key)
+BOOL CNG_ImportPubKey(CERT_PUBLIC_KEY_INFO *pubKeyInfo, BCRYPT_KEY_HANDLE *key)
 {
     if (!strcmp(pubKeyInfo->Algorithm.pszObjId, szOID_ECC_PUBLIC_KEY))
         return CNG_ImportECCPubKey(pubKeyInfo, key);
diff --git a/dlls/crypt32/crypt32_private.h b/dlls/crypt32/crypt32_private.h
index 30cf4334de4..9f8f43e7632 100644
--- a/dlls/crypt32/crypt32_private.h
+++ b/dlls/crypt32/crypt32_private.h
@@ -21,6 +21,8 @@
 
 #include "wine/list.h"
 
+BOOL CNG_ImportPubKey(CERT_PUBLIC_KEY_INFO *pubKeyInfo, BCRYPT_KEY_HANDLE *key) DECLSPEC_HIDDEN;
+
 /* a few asn.1 tags we need */
 #define ASN_BOOL            (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x01)
 #define ASN_BITSTRING       (ASN_UNIVERSAL | ASN_PRIMITIVE | 0x03)
diff --git a/dlls/crypt32/encode.c b/dlls/crypt32/encode.c
index 46f4b8f25e7..02b235696ce 100644
--- a/dlls/crypt32/encode.c
+++ b/dlls/crypt32/encode.c
@@ -5050,8 +5050,11 @@ BOOL WINAPI CryptImportPublicKeyInfoEx2(DWORD dwCertEncodingType,
  PCERT_PUBLIC_KEY_INFO pInfo, DWORD dwFlags, void *pvAuxInfo,
  BCRYPT_KEY_HANDLE *phKey)
 {
-    FIXME_(crypt)("(%d, %p, %08x, %p, %p): stub\n", dwCertEncodingType, pInfo,
+    TRACE_(crypt)("(%d, %p, %08x, %p, %p)\n", dwCertEncodingType, pInfo,
      dwFlags, pvAuxInfo, phKey);
-    SetLastError(ERROR_FILE_NOT_FOUND);
-    return FALSE;
+
+    if (dwFlags)
+        FIXME("flags %#x ignored\n", dwFlags);
+
+    return CNG_ImportPubKey(pInfo, phKey);
 }




More information about the wine-cvs mailing list