[PATCH resend 07/10] dssenh: refactor rsaenh - Change constant names.

Zhang Shuai wxsxsdz at gmail.com
Sun Nov 17 14:06:02 CST 2019


Signed-off-by: Zhang Shuai <wxsxsdz at gmail.com>
---
 dlls/rsaenh/cryptoprovconfig.h |  8 +++++-
 dlls/rsaenh/cryptoprovutils.c  | 46 +++++++++++++++++-----------------
 dlls/rsaenh/cryptoprovutils.h  | 10 ++++----
 3 files changed, 35 insertions(+), 29 deletions(-)

diff --git a/dlls/rsaenh/cryptoprovconfig.h b/dlls/rsaenh/cryptoprovconfig.h
index 10cbc31b8b..e482d37ad4 100644
--- a/dlls/rsaenh/cryptoprovconfig.h
+++ b/dlls/rsaenh/cryptoprovconfig.h
@@ -79,6 +79,12 @@ static const PROVNAMEPERSONALITYPAIR aProvNamePersonalityPairs[6] =
 /******************************************************************************
  * Definitions concerning prefix.
  */
-#define RSAENH_SCHANNEL_INFO SCHANNEL_INFO
+#define RSAENH_SCHANNEL_INFO            SCHANNEL_INFO
+#define RSAENH_MAX_KEY_SIZE        CRYPTO_PROV_MAX_KEY_SIZE
+#define RSAENH_MAX_BLOCK_SIZE      CRYPTO_PROV_MAX_BLOCK_SIZE
+
+#define CRYPTO_PROV_REGKEY              RSAENH_REGKEY
+#define CRYPTO_PROV_MAGIC_KEY           RSAENH_MAGIC_KEY
+#define CRYPTO_PROV_MAGIC_CONTAINER     RSAENH_MAGIC_CONTAINER
 
 #endif /* __WINE_CRYPTOPROVCONFIG_H */
diff --git a/dlls/rsaenh/cryptoprovutils.c b/dlls/rsaenh/cryptoprovutils.c
index 7262ead819..ed3b16b13a 100644
--- a/dlls/rsaenh/cryptoprovutils.c
+++ b/dlls/rsaenh/cryptoprovutils.c
@@ -52,19 +52,19 @@ extern struct handle_table handle_table;
  */
 BOOL create_container_key(KEYCONTAINER *pKeyContainer, REGSAM sam, HKEY *phKey)
 {
-    CHAR szRSABase[sizeof(RSAENH_REGKEY) + MAX_PATH];
+    CHAR szBase[sizeof(CRYPTO_PROV_REGKEY) + MAX_PATH];
     HKEY hRootKey;
 
-    sprintf(szRSABase, RSAENH_REGKEY, pKeyContainer->szName);
+    sprintf(szBase, CRYPTO_PROV_REGKEY, pKeyContainer->szName);
 
     if (pKeyContainer->dwFlags & CRYPT_MACHINE_KEYSET)
         hRootKey = HKEY_LOCAL_MACHINE;
     else
         hRootKey = HKEY_CURRENT_USER;
 
-    /* @@ Wine registry key: HKLM\Software\Wine\Crypto\RSA */
-    /* @@ Wine registry key: HKCU\Software\Wine\Crypto\RSA */
-    return RegCreateKeyExA(hRootKey, szRSABase, 0, NULL,
+    /* @@ Wine registry key: HKLM\Software\Wine\Crypto\(CRYPTO_PROV) */
+    /* @@ Wine registry key: HKCU\Software\Wine\Crypto\(CRYPTO_PROV) */
+    return RegCreateKeyExA(hRootKey, szBase, 0, NULL,
                            REG_OPTION_NON_VOLATILE, sam, NULL, phKey, NULL)
                            == ERROR_SUCCESS;
 }
@@ -83,19 +83,19 @@ BOOL create_container_key(KEYCONTAINER *pKeyContainer, REGSAM sam, HKEY *phKey)
  */
 BOOL open_container_key(LPCSTR pszContainerName, DWORD dwFlags, REGSAM access, HKEY *phKey)
 {
-    CHAR szRSABase[sizeof(RSAENH_REGKEY) + MAX_PATH];
+    CHAR szBase[sizeof(CRYPTO_PROV_REGKEY) + MAX_PATH];
     HKEY hRootKey;
 
-    sprintf(szRSABase, RSAENH_REGKEY, pszContainerName);
+    sprintf(szBase, CRYPTO_PROV_REGKEY, pszContainerName);
 
     if (dwFlags & CRYPT_MACHINE_KEYSET)
         hRootKey = HKEY_LOCAL_MACHINE;
     else
         hRootKey = HKEY_CURRENT_USER;
 
-    /* @@ Wine registry key: HKLM\Software\Wine\Crypto\RSA */
-    /* @@ Wine registry key: HKCU\Software\Wine\Crypto\RSA */
-    return RegOpenKeyExA(hRootKey, szRSABase, 0, access, phKey) ==
+    /* @@ Wine registry key: HKLM\Software\Wine\Crypto\(CRYPTO_PROV) */
+    /* @@ Wine registry key: HKCU\Software\Wine\Crypto\(CRYPTO_PROV) */
+    return RegOpenKeyExA(hRootKey, szBase, 0, access, phKey) ==
                          ERROR_SUCCESS;
 }
 
@@ -110,10 +110,10 @@ BOOL open_container_key(LPCSTR pszContainerName, DWORD dwFlags, REGSAM access, H
  */
 BOOL delete_container_key(LPCSTR pszContainerName, DWORD dwFlags)
 {
-    CHAR szRegKey[sizeof(RSAENH_REGKEY) + MAX_PATH];
+    CHAR szRegKey[sizeof(CRYPTO_PROV_REGKEY) + MAX_PATH];
     HKEY hRootKey;
 
-    sprintf(szRegKey, RSAENH_REGKEY, pszContainerName);
+    sprintf(szRegKey, CRYPTO_PROV_REGKEY, pszContainerName);
 
     if (dwFlags & CRYPT_MACHINE_KEYSET)
         hRootKey = HKEY_LOCAL_MACHINE;
@@ -180,7 +180,7 @@ void store_key_pair(HCRYPTKEY hCryptKey, HKEY hKey, DWORD dwKeySpec, DWORD dwFla
 
     if (!(szValueName = map_key_spec_to_key_pair_name(dwKeySpec)))
         return;
-    if (lookup_handle(&handle_table, hCryptKey, RSAENH_MAGIC_KEY,
+    if (lookup_handle(&handle_table, hCryptKey, CRYPTO_PROV_MAGIC_KEY,
                       (OBJECTHDR**)&pKey))
     {
         if (crypt_export_key(pKey, 0, PRIVATEKEYBLOB, 0, TRUE, 0, &dwLen))
@@ -222,7 +222,7 @@ void store_key_container_keys(KEYCONTAINER *pKeyContainer)
     DWORD dwFlags;
 
     /* On WinXP, persistent keys are stored in a file located at:
-     * $AppData$\\Microsoft\\Crypto\\RSA\\$SID$\\some_hex_string
+     * $AppData$\\Microsoft\\Crypto\\(CRYPTO_PROV)\\$SID$\\some_hex_string
      */
 
     if (pKeyContainer->dwFlags & CRYPT_MACHINE_KEYSET)
@@ -289,7 +289,7 @@ void store_key_permissions(HCRYPTKEY hCryptKey, HKEY hKey, DWORD dwKeySpec)
 
     if (!(szValueName = map_key_spec_to_permissions_name(dwKeySpec)))
         return;
-    if (lookup_handle(&handle_table, hCryptKey, RSAENH_MAGIC_KEY,
+    if (lookup_handle(&handle_table, hCryptKey, CRYPTO_PROV_MAGIC_KEY,
                       (OBJECTHDR**)&pKey))
         RegSetValueExA(hKey, szValueName, 0, REG_DWORD,
                        (BYTE *)&pKey->dwPermissions,
@@ -330,9 +330,9 @@ void store_key_container_permissions(KEYCONTAINER *pKeyContainer)
 void release_key_container_keys(KEYCONTAINER *pKeyContainer)
 {
     release_handle(&handle_table, pKeyContainer->hKeyExchangeKeyPair,
-                   RSAENH_MAGIC_KEY);
+                   CRYPTO_PROV_MAGIC_KEY);
     release_handle(&handle_table, pKeyContainer->hSignatureKeyPair,
-                   RSAENH_MAGIC_KEY);
+                   CRYPTO_PROV_MAGIC_KEY);
 }
 
 /******************************************************************************
@@ -407,7 +407,7 @@ BOOL read_key_value(HCRYPTPROV hKeyContainer, HKEY hKey, DWORD dwKeySpec, DWORD
     {
         CRYPTKEY *pKey;
 
-        if (lookup_handle(&handle_table, *phCryptKey, RSAENH_MAGIC_KEY,
+        if (lookup_handle(&handle_table, *phCryptKey, CRYPTO_PROV_MAGIC_KEY,
                           (OBJECTHDR**)&pKey))
         {
             if ((szValueName = map_key_spec_to_permissions_name(dwKeySpec)))
@@ -454,7 +454,7 @@ HCRYPTPROV read_key_container(PCHAR pszContainerName, DWORD dwFlags, const VTabl
         DWORD dwProtectFlags = (dwFlags & CRYPT_MACHINE_KEYSET) ?
             CRYPTPROTECT_LOCAL_MACHINE : 0;
 
-        if (!lookup_handle(&handle_table, hKeyContainer, RSAENH_MAGIC_CONTAINER, 
+        if (!lookup_handle(&handle_table, hKeyContainer, CRYPTO_PROV_MAGIC_CONTAINER, 
                            (OBJECTHDR**)&pKeyContainer))
             return (HCRYPTPROV)INVALID_HANDLE_VALUE;
     
@@ -466,10 +466,10 @@ HCRYPTPROV read_key_container(PCHAR pszContainerName, DWORD dwFlags, const VTabl
          */
         if (read_key_value(hKeyContainer, hKey, AT_KEYEXCHANGE,
             dwProtectFlags, &hCryptKey))
-            release_handle(&handle_table, hCryptKey, RSAENH_MAGIC_KEY);
+            release_handle(&handle_table, hCryptKey, CRYPTO_PROV_MAGIC_KEY);
         if (read_key_value(hKeyContainer, hKey, AT_SIGNATURE,
             dwProtectFlags, &hCryptKey))
-            release_handle(&handle_table, hCryptKey, RSAENH_MAGIC_KEY);
+            release_handle(&handle_table, hCryptKey, CRYPTO_PROV_MAGIC_KEY);
     }
 
     return hKeyContainer;
@@ -478,7 +478,7 @@ HCRYPTPROV read_key_container(PCHAR pszContainerName, DWORD dwFlags, const VTabl
 /******************************************************************************
  * new_key_container [Internal]
  *
- * Create a new key container. The personality (RSA Base, Strong or Enhanced CP) 
+ * Create a new key container. The personality
  * of the CSP is determined via the pVTable->pszProvName string.
  *
  * PARAMS
@@ -495,7 +495,7 @@ HCRYPTPROV new_key_container(PCCH pszContainerName, DWORD dwFlags, const VTableP
     HCRYPTPROV hKeyContainer;
     DWORD i;
 
-    hKeyContainer = new_object(&handle_table, sizeof(KEYCONTAINER), RSAENH_MAGIC_CONTAINER,
+    hKeyContainer = new_object(&handle_table, sizeof(KEYCONTAINER), CRYPTO_PROV_MAGIC_CONTAINER,
                                destroy_key_container, (OBJECTHDR**)&pKeyContainer);
     if (hKeyContainer != (HCRYPTPROV)INVALID_HANDLE_VALUE)
     {
diff --git a/dlls/rsaenh/cryptoprovutils.h b/dlls/rsaenh/cryptoprovutils.h
index f745ada8d4..3a756d3735 100644
--- a/dlls/rsaenh/cryptoprovutils.h
+++ b/dlls/rsaenh/cryptoprovutils.h
@@ -47,8 +47,8 @@ typedef struct _SCHANNEL_INFO
     CRYPT_DATA_BLOB blobServerRandom;
 } SCHANNEL_INFO;
 
-#define RSAENH_MAX_KEY_SIZE     64
-#define RSAENH_MAX_BLOCK_SIZE   24
+#define CRYPTO_PROV_MAX_KEY_SIZE     64
+#define CRYPTO_PROV_MAX_BLOCK_SIZE   24
 typedef struct tagCRYPTKEY
 {
     OBJECTHDR   header;
@@ -63,9 +63,9 @@ typedef struct tagCRYPTKEY
     DWORD       dwBlockLen;
     DWORD       dwState;
     KEY_CONTEXT context;    
-    BYTE        abKeyValue[RSAENH_MAX_KEY_SIZE];
-    BYTE        abInitVector[RSAENH_MAX_BLOCK_SIZE];
-    BYTE        abChainVector[RSAENH_MAX_BLOCK_SIZE];
+    BYTE        abKeyValue[CRYPTO_PROV_MAX_KEY_SIZE];
+    BYTE        abInitVector[CRYPTO_PROV_MAX_BLOCK_SIZE];
+    BYTE        abChainVector[CRYPTO_PROV_MAX_BLOCK_SIZE];
     SCHANNEL_INFO siSChannelInfo;
     CRYPT_DATA_BLOB blobHmacKey;
 } CRYPTKEY;
-- 
2.21.0




More information about the wine-devel mailing list