From b3e684826fb653983e4189de482eb4e2783cd50f Mon Sep 17 00:00:00 2001 From: Michael Stefaniuc Date: Tue, 1 Dec 2020 00:58:24 +0100 Subject: [PATCH] cryptdlg: Use wide-char string literals. Signed-off-by: Michael Stefaniuc Signed-off-by: Alexandre Julliard --- dlls/cryptdlg/main.c | 91 ++++++++++++++++---------------------------- 1 file changed, 33 insertions(+), 58 deletions(-) diff --git a/dlls/cryptdlg/main.c b/dlls/cryptdlg/main.c index 4812ac9e621..e74ce0f48e7 100644 --- a/dlls/cryptdlg/main.c +++ b/dlls/cryptdlg/main.c @@ -109,21 +109,15 @@ HRESULT WINAPI CertTrustCleanup(CRYPT_PROVIDER_DATA *pProvData) static BOOL CRYPTDLG_CheckOnlineCRL(void) { - static const WCHAR policyFlagsKey[] = { 'S','o','f','t','w','a','r','e', - '\\','M','i','c','r','o','s','o','f','t','\\','C','r','y','p','t','o','g', - 'r','a','p','h','y','\\','{','7','8','0','1','e','b','d','0','-','c','f', - '4','b','-','1','1','d','0','-','8','5','1','f','-','0','0','6','0','9', - '7','9','3','8','7','e','a','}',0 }; - static const WCHAR policyFlags[] = { 'P','o','l','i','c','y','F','l','a', - 'g','s',0 }; HKEY key; BOOL ret = FALSE; - if (!RegOpenKeyExW(HKEY_LOCAL_MACHINE, policyFlagsKey, 0, KEY_READ, &key)) + if (!RegOpenKeyExW(HKEY_LOCAL_MACHINE, + L"Software\\Microsoft\\Cryptography\\{7801ebd0-cf4b-11d0-851f-0060979387ea}", 0, KEY_READ, &key)) { DWORD type, flags, size = sizeof(flags); - if (!RegQueryValueExW(key, policyFlags, NULL, &type, (BYTE *)&flags, + if (!RegQueryValueExW(key, L"PolicyFlags", NULL, &type, (BYTE *)&flags, &size) && type == REG_DWORD) { /* The flag values aren't defined in any header I'm aware of, but @@ -149,10 +143,8 @@ static BOOL CRYPTDLG_IsCertAllowed(PCCERT_CONTEXT pCert) if ((ret = CertGetCertificateContextProperty(pCert, CERT_SIGNATURE_HASH_PROP_ID, hash, &size))) { - static const WCHAR disallowedW[] = - { 'D','i','s','a','l','l','o','w','e','d',0 }; HCERTSTORE disallowed = CertOpenStore(CERT_STORE_PROV_SYSTEM_W, - X509_ASN_ENCODING, 0, CERT_SYSTEM_STORE_CURRENT_USER, disallowedW); + X509_ASN_ENCODING, 0, CERT_SYSTEM_STORE_CURRENT_USER, L"Disallowed"); if (disallowed) { @@ -487,8 +479,6 @@ static BOOL CRYPT_FormatHexString(const BYTE *pbEncoded, DWORD cbEncoded, } else { - static const WCHAR fmt[] = { '%','0','2','x',' ',0 }; - static const WCHAR endFmt[] = { '%','0','2','x',0 }; DWORD i; LPWSTR ptr = str; @@ -498,9 +488,9 @@ static BOOL CRYPT_FormatHexString(const BYTE *pbEncoded, DWORD cbEncoded, for (i = 0; i < cbEncoded; i++) { if (i < cbEncoded - 1) - ptr += swprintf(ptr, 4, fmt, pbEncoded[i]); + ptr += swprintf(ptr, 4, L"%02x ", pbEncoded[i]); else - ptr += swprintf(ptr, 3, endFmt, pbEncoded[i]); + ptr += swprintf(ptr, 3, L"%02x", pbEncoded[i]); } } else @@ -510,11 +500,7 @@ static BOOL CRYPT_FormatHexString(const BYTE *pbEncoded, DWORD cbEncoded, return ret; } -static const WCHAR indent[] = { ' ',' ',' ',' ',' ',0 }; -static const WCHAR colonCrlf[] = { ':','\r','\n',0 }; -static const WCHAR colonSpace[] = { ':',' ',0 }; -static const WCHAR crlf[] = { '\r','\n',0 }; -static const WCHAR commaSep[] = { ',',' ',0 }; +static const WCHAR indent[] = L" "; static BOOL CRYPT_FormatCPS(DWORD dwCertEncodingType, DWORD dwFormatStrType, const BYTE *pbEncoded, DWORD cbEncoded, @@ -531,9 +517,9 @@ static BOOL CRYPT_FormatCPS(DWORD dwCertEncodingType, DWORD sepLen; if (dwFormatStrType & CRYPT_FORMAT_STR_MULTI_LINE) - sep = crlf; + sep = L"\r\n"; else - sep = commaSep; + sep = L", "; sepLen = lstrlenW(sep); @@ -589,7 +575,6 @@ static BOOL CRYPT_FormatUserNotice(DWORD dwCertEncodingType, X509_PKIX_POLICY_QUALIFIER_USERNOTICE, pbEncoded, cbEncoded, CRYPT_DECODE_ALLOC_FLAG, NULL, ¬ice, &size))) { - static const WCHAR numFmt[] = { '%','d',0 }; CERT_POLICY_QUALIFIER_NOTICE_REFERENCE *pNoticeRef = notice->pNoticeReference; LPCWSTR headingSep, sep; @@ -608,13 +593,13 @@ static BOOL CRYPT_FormatUserNotice(DWORD dwCertEncodingType, (LPWSTR)¬iceText, 0); if (dwFormatStrType & CRYPT_FORMAT_STR_MULTI_LINE) { - headingSep = colonCrlf; - sep = crlf; + headingSep = L":\r\n"; + sep = L"\r\n"; } else { - headingSep = colonSpace; - sep = commaSep; + headingSep = L": "; + sep = L", "; } sepLen = lstrlenW(sep); headingSepLen = lstrlenW(headingSep); @@ -704,7 +689,7 @@ static BOOL CRYPT_FormatUserNotice(DWORD dwCertEncodingType, memcpy(str, noticeNum, noticeNumLen * sizeof(WCHAR)); str += noticeNumLen; } - swprintf(noticeNumStr, ARRAY_SIZE(noticeNumStr), numFmt, k + 1); + swprintf(noticeNumStr, ARRAY_SIZE(noticeNumStr), L"%d", k + 1); charsNeeded += lstrlenW(noticeNumStr); if (str && *pcchStr >= charsNeeded) { @@ -788,7 +773,6 @@ BOOL WINAPI FormatVerisignExtension(DWORD dwCertEncodingType, if ((ret = CryptDecodeObjectEx(dwCertEncodingType, X509_CERT_POLICIES, pbEncoded, cbEncoded, CRYPT_DECODE_ALLOC_FLAG, NULL, &policies, &size))) { - static const WCHAR numFmt[] = { '%','d',0 }; DWORD charsNeeded = 1; /* space for NULL terminator */ LPCWSTR headingSep, sep; DWORD headingSepLen, sepLen; @@ -815,13 +799,13 @@ BOOL WINAPI FormatVerisignExtension(DWORD dwCertEncodingType, (LPWSTR)&qualifier, 0); if (dwFormatStrType & CRYPT_FORMAT_STR_MULTI_LINE) { - headingSep = colonCrlf; - sep = crlf; + headingSep = L":\r\n"; + sep = L"\r\n"; } else { - headingSep = colonSpace; - sep = commaSep; + headingSep = L": "; + sep = L", "; } sepLen = lstrlenW(sep); headingSepLen = lstrlenW(headingSep); @@ -835,7 +819,7 @@ BOOL WINAPI FormatVerisignExtension(DWORD dwCertEncodingType, charsNeeded += 1; /* '['*/ if (str && *pcbFormat >= charsNeeded * sizeof(WCHAR)) *str++ = '['; - swprintf(policyNum, ARRAY_SIZE(policyNum), numFmt, i + 1); + swprintf(policyNum, ARRAY_SIZE(policyNum), L"%d", i + 1); charsNeeded += lstrlenW(policyNum); if (str && *pcbFormat >= charsNeeded * sizeof(WCHAR)) { @@ -912,7 +896,7 @@ BOOL WINAPI FormatVerisignExtension(DWORD dwCertEncodingType, charsNeeded += 1; /* ','*/ if (str && *pcbFormat >= charsNeeded * sizeof(WCHAR)) *str++ = ','; - swprintf(policyQualifierNum, ARRAY_SIZE(policyQualifierNum), numFmt, j + 1); + swprintf(policyQualifierNum, ARRAY_SIZE(policyQualifierNum), L"%d", j + 1); charsNeeded += lstrlenW(policyQualifierNum); if (str && *pcbFormat >= charsNeeded * sizeof(WCHAR)) { @@ -1120,22 +1104,13 @@ BOOL WINAPI FormatVerisignExtension(DWORD dwCertEncodingType, */ HRESULT WINAPI DllRegisterServer(void) { - static WCHAR cryptdlg[] = { 'c','r','y','p','t','d','l','g','.', - 'd','l','l',0 }; - static WCHAR wintrust[] = { 'w','i','n','t','r','u','s','t','.', - 'd','l','l',0 }; - static WCHAR certTrustInit[] = { 'C','e','r','t','T','r','u','s','t', - 'I','n','i','t',0 }; - static WCHAR wintrustCertificateTrust[] = { 'W','i','n','t','r','u','s','t', - 'C','e','r','t','i','f','i','c','a','t','e','T','r','u','s','t',0 }; - static WCHAR certTrustCertPolicy[] = { 'C','e','r','t','T','r','u','s','t', - 'C','e','r','t','P','o','l','i','c','y',0 }; - static WCHAR certTrustFinalPolicy[] = { 'C','e','r','t','T','r','u','s','t', - 'F','i','n','a','l','P','o','l','i','c','y',0 }; - static WCHAR certTrustCleanup[] = { 'C','e','r','t','T','r','u','s','t', - 'C','l','e','a','n','u','p',0 }; - static const WCHAR cryptDlg[] = { 'c','r','y','p','t','d','l','g','.', - 'd','l','l',0 }; + static WCHAR cryptdlg[] = L"cryptdlg.dll"; + static WCHAR wintrust[] = L"wintrust.dll"; + static WCHAR certTrustInit[] = L"CertTrustInit"; + static WCHAR wintrustCertificateTrust[] = L"WintrustCertificateTrust"; + static WCHAR certTrustCertPolicy[] = L"CertTrustCertPolicy"; + static WCHAR certTrustFinalPolicy[] = L"CertTrustFinalPolicy"; + static WCHAR certTrustCleanup[] = L"CertTrustCleanup"; CRYPT_REGISTER_ACTIONID reg; GUID guid = CERT_CERTIFICATE_ACTION_VERIFY; HRESULT hr = S_OK; @@ -1160,17 +1135,17 @@ HRESULT WINAPI DllRegisterServer(void) if (!WintrustAddActionID(&guid, WT_ADD_ACTION_ID_RET_RESULT_FLAG, ®)) hr = GetLastError(); CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_ENCODE_OBJECT_FUNC, - "1.3.6.1.4.1.311.16.1.1", cryptDlg, "EncodeAttrSequence"); + "1.3.6.1.4.1.311.16.1.1", L"cryptdlg.dll", "EncodeAttrSequence"); CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_ENCODE_OBJECT_FUNC, - szOID_MICROSOFT_Encryption_Key_Preference, cryptDlg, "EncodeRecipientID"); + szOID_MICROSOFT_Encryption_Key_Preference, L"cryptdlg.dll", "EncodeRecipientID"); CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_DECODE_OBJECT_FUNC, - "1.3.6.1.4.1.311.16.1.1", cryptDlg, "DecodeAttrSequence"); + "1.3.6.1.4.1.311.16.1.1", L"cryptdlg.dll", "DecodeAttrSequence"); CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_DECODE_OBJECT_FUNC, - szOID_MICROSOFT_Encryption_Key_Preference, cryptDlg, "DecodeRecipientID"); + szOID_MICROSOFT_Encryption_Key_Preference, L"cryptdlg.dll", "DecodeRecipientID"); CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_FORMAT_OBJECT_FUNC, - szOID_PKIX_KP_EMAIL_PROTECTION, cryptDlg, "FormatPKIXEmailProtection"); + szOID_PKIX_KP_EMAIL_PROTECTION, L"cryptdlg.dll", "FormatPKIXEmailProtection"); CryptRegisterOIDFunction(X509_ASN_ENCODING, CRYPT_OID_FORMAT_OBJECT_FUNC, - szOID_CERT_POLICIES, cryptDlg, "FormatVerisignExtension"); + szOID_CERT_POLICIES, L"cryptdlg.dll", "FormatVerisignExtension"); return hr; }