22 #include "wine/port.h" 29 #define NONAMELESSUNION 32 #define CRYPT_OID_INFO_HAS_EXTRA_FIELDS 37 #include "wine/list.h" 50 0, 0, { (
DWORD_PTR)(__FILE__
": funcSetCS") }
74 static const WCHAR ADDRESSBOOK[] = {
'A',
'D',
'D',
'R',
'E',
'S',
'S',
'B',
'O',
'O',
'K',0};
75 static const WCHAR TRUSTEDPUBLISHER[] = {
'T',
'r',
'u',
's',
't',
'e',
'd',
'P',
'u',
'b',
'l',
'i',
's',
'h',
'e',
'r',0};
76 static const WCHAR DISALLOWED[] = {
'D',
'i',
's',
'a',
'l',
'l',
'o',
'w',
'e',
'd',0};
82 static const WCHAR extraW[] = {
'E',
'x',
't',
'r',
'a',
'I',
'n',
'f',
'o',0 };
84 static const WCHAR cngextraalgidW[] = {
'C',
'N',
'G',
'E',
'x',
't',
'r',
'a',
'A',
'l',
'g',
'i',
'd',0 };
140 ret->cs.DebugInfo->Spare[0] = (
DWORD_PTR)(__FILE__
": OIDFunctionSet.cs");
160 static const char szEncodingTypeFmt[] =
161 "Software\\Microsoft\\Cryptography\\OID\\EncodingType %d\\%s\\%s";
188 sprintf(szKey, szEncodingTypeFmt,
253 for (
i = 0;
ret &&
i < cFuncEntry;
i++)
273 func->entry.pszOID = oid;
303 const char *funcName;
409 if (!
IS_INTOID(function->entry.pszOID) &&
418 else if (function->entry.pszOID ==
pszOID)
451 if (function->hModule ==
hModule)
593 if (!*
addr->currentDll)
665 if (!pszFuncName || !
pszOID)
683 if (pszOverrideFuncName)
686 (
const BYTE*)pszOverrideFuncName,
lstrlenA(pszOverrideFuncName) + 1);
799 if (
info->ExtraInfo.cbData &&
info->ExtraInfo.pbData)
805 if (
info->pwszCNGAlgid)
811 if (
info->pwszCNGExtraAlgid)
840 if (!pszFuncName || !
pszOID)
883 pbValueData, pcbValueData);
893 const BYTE *pbValueData,
DWORD cbValueData)
986 spotToAdd =
ret +
len - 1;
994 for (
i = 0, spotToAdd =
ret;
i <
index && *spotToAdd;
995 spotToAdd +=
lstrlenW(spotToAdd) + 1)
1026 if (spotToRemove +
lstrlenW(toRemove) + 2 >= multi +
len)
1030 *(spotToRemove + 1) = 0;
1037 memmove(spotToRemove, nextStr,
1038 (
len - (nextStr - multi)) *
sizeof(
WCHAR));
1203 0, 0, { (
DWORD_PTR)(__FILE__
": oidInfoCS") }
1209 static const WCHAR cms3deswrap[] = {
'C',
'M',
'S',
'3',
'D',
'E',
'S',
'w',
'r',
'a',
1211 static const WCHAR cmsrc2wrap[] = {
'C',
'M',
'S',
'R',
'C',
'2',
'w',
'r',
'a',
'p',0 };
1231 {
'm',
'o',
's',
'a',
'i',
'c',
'K',
'M',
'a',
'n',
'd',
'U',
'p',
'd',
'S',
'i',
'g',0 };
1246 {
'm',
'o',
's',
'a',
'i',
'c',
'U',
'p',
'd',
'a',
't',
'e',
'd',
'S',
'i',
'g',0 };
1247 static const WCHAR sha256ECDSA[] = {
's',
'h',
'a',
'2',
'5',
'6',
'E',
'C',
'D',
'S',
'A',0 };
1248 static const WCHAR sha384ECDSA[] = {
's',
'h',
'a',
'3',
'8',
'4',
'E',
'C',
'D',
'S',
'A',0 };
1267 {
'D',
'e',
's',
'c',
'r',
'i',
'p',
't',
'i',
'o',
'n',0 };
1268 static const WCHAR PostalCode[] = {
'P',
'o',
's',
't',
'a',
'l',
'C',
'o',
'd',
'e',0 };
1271 static const WCHAR X21Address[] = {
'X',
'2',
'1',
'A',
'd',
'd',
'r',
'e',
's',
's',0 };
1273 {
'd',
'n',
'Q',
'u',
'a',
'l',
'i',
'f',
'i',
'e',
'r',0 };
1274 static const WCHAR SpcSpAgencyInfo[] = {
'S',
'p',
'c',
'S',
'p',
'A',
'g',
'e',
'n',
'c',
'y',
'I',
'n',
'f',
'o',0 };
1275 static const WCHAR SpcFinancialCriteria[] = {
'S',
'p',
'c',
'F',
'i',
'n',
'a',
'n',
'c',
'i',
'a',
'l',
'C',
'r',
'i',
't',
'e',
'r',
'i',
'a',0 };
1276 static const WCHAR SpcMinimalCriteria[] = {
'S',
'p',
'c',
'M',
'i',
'n',
'i',
'm',
'a',
'l',
'C',
'r',
'i',
't',
'e',
'r',
'i',
'a',0 };
1279 static const WCHAR SERIALNUMBER[] = {
'S',
'E',
'R',
'I',
'A',
'L',
'N',
'U',
'M',
'B',
'E',
'R',0 };
1574 DWORD len, oid_len, name_len = 0, extra_len = 0, cngalgid_len = 0, cngextra_len = 0, group_id = 0;
1599 len =
sizeof(*flags);
1603 info->info.cbSize =
sizeof(
info->info);
1605 p = (
char *)(
info + 1);
1607 info->info.pszOID =
p;
1618 info->info.dwGroupId = group_id;
1620 len =
sizeof(
info->info.u.Algid);
1625 info->info.ExtraInfo.cbData = extra_len;
1626 info->info.ExtraInfo.pbData = (
BYTE *)
p;
1674 TRACE(
"adding oid %s, name %s, groupid %u, algid %u, extra %u, CNG algid %s, CNG extra %s\n",
1676 info->info.dwGroupId,
info->info.u.Algid,
info->info.ExtraInfo.cbData,
1713 info->info.ExtraInfo.cbData =
1715 info->info.ExtraInfo.pbData =
1728 (
LPWSTR)&stringresource, 0);
1747 info->info.ExtraInfo.cbData =
1749 info->info.ExtraInfo.pbData =
1782 TRACE(
"(%d, %08x, %p, %p)\n", dwGroupId,
dwFlags, pvArg,
1788 if (!dwGroupId || dwGroupId ==
info->info.dwGroupId)
1790 ret = pfnEnumOIDInfo(&
info->info, pvArg);
1804 TRACE(
"(%d, %p, %d)\n", dwKeyType, pvKey, dwGroupId);
1812 TRACE(
"CRYPT_OID_INFO_ALGID_KEY: %d\n", *(
DWORD *)pvKey);
1816 if (
info->info.u.Algid == *(
DWORD *)pvKey &&
1817 (!dwGroupId ||
info->info.dwGroupId == dwGroupId))
1835 (!dwGroupId ||
info->info.dwGroupId == dwGroupId))
1854 (!dwGroupId ||
info->info.dwGroupId == dwGroupId))
1867 TRACE(
"CRYPT_OID_INFO_SIGN_KEY: %d\n", *(
DWORD *)pvKey);
1871 if (
info->info.u.Algid == *(
DWORD *)pvKey &&
1872 info->info.ExtraInfo.cbData >=
sizeof(
DWORD) &&
1873 *(
DWORD *)
info->info.ExtraInfo.pbData ==
1875 (!dwGroupId ||
info->info.dwGroupId == dwGroupId))
1905 (
void *)pszObjId, 0);
struct _CRYPT_OID_INFO CRYPT_OID_INFO
static const WCHAR nameW[]
static const WCHAR TRUSTEDPUBLISHER[]
static const WCHAR SpcSpAgencyInfo[]
#define IDS_PKCS_7_SIGNED
#define ERROR_INVALID_PARAMETER
static const WCHAR md2RSA[]
#define szOID_PRODUCT_UPDATE
#define szOID_CERT_EXTENSIONS
static struct list funcSets
#define szOID_PKIX_KP_EMAIL_PROTECTION
LONG WINAPI RegOpenKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
static const WCHAR cngalgidW[]
HCRYPTOIDFUNCSET WINAPI CryptInitOIDFunctionSet(LPCSTR pszFuncName, DWORD dwFlags)
#define szOID_WHQL_CRYPTO
#define IDS_REVOKE_REQUEST
#define szOID_CMC_QUERY_PENDING
LONG WINAPI RegQueryValueExA(_In_ HKEY hkeyorg, _In_ LPCSTR name, _In_ LPDWORD reserved, _Out_opt_ LPDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ LPDWORD count)
#define szOID_POST_OFFICE_BOX
#define szOID_OIWSEC_rsaXchg
static const WCHAR ADDRESSBOOK[]
#define szOID_PKIX_KP_TIMESTAMP_SIGNING
static const struct OIDInfoConstructor oidInfoConstructors[]
#define szOID_CERT_POLICIES
#define IDS_NAME_CONSTRAINTS
#define ERROR_FILE_EXISTS
#define szOID_NIST_sha256
#define memmove(s1, s2, n)
#define IDS_FILE_RECOVERY
BOOL WINAPI CryptUnregisterDefaultOIDFunction(DWORD dwEncodingType, LPCSTR pszFuncName, LPCWSTR pwszDll)
static const WCHAR DllW[]
#define szOID_CERTSRV_CA_VERSION
#define szOID_ECDSA_SHA384
static CRITICAL_SECTION funcSetCS
#define IDS_SMIME_CAPABILITIES
#define szOID_KP_KEY_RECOVERY_AGENT
#define szOID_KEY_USAGE_RESTRICTION
static const WCHAR Initials[]
#define szOID_POLICY_CONSTRAINTS
#define szOID_RSA_SHA384RSA
#define IDS_YES_OR_NO_TRUST
#define szOID_CMC_GET_CRL
static const WCHAR md4RSA[]
#define IDS_APPLICATION_POLICY_CONSTRAINTS
#define IDS_NETSCAPE_BASE_URL
BOOL WINAPI CryptRegisterOIDFunction(DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, LPCWSTR pwszDll, LPCSTR pszOverrideFuncName)
#define szOID_RSA_SHA512RSA
static const CRYPT_DATA_BLOB numericStringBlob
#define szOID_OIWSEC_desCBC
static const WCHAR sha256ECDSA[]
#define szOID_ARCHIVED_KEY_CERT_HASH
#define ERROR_NO_MORE_ITEMS
#define IDS_RECIPIENT_NONCE
#define szOID_CERT_MANIFOLD
#define szOID_DEVICE_SERIAL_NUMBER
BOOL WINAPI CryptRegisterOIDInfo(PCCRYPT_OID_INFO info, DWORD flags)
ACPI_SIZE strlen(const char *String)
#define szOID_NETSCAPE_REVOCATION_URL
static const WCHAR STREET[]
static const WCHAR POBox[]
#define IDS_SERVER_AUTHENTICATION
static const WCHAR ESDH[]
static BOOL CRYPT_GetFuncFromDll(LPCWSTR dll, LPCSTR func, HMODULE *lib, void **ppvFuncAddr)
#define szOID_NETSCAPE_CA_REVOCATION_URL
GLdouble GLdouble GLdouble r
#define szOID_PKIX_KP_IPSEC_END_SYSTEM
#define szOID_APPLICATION_POLICY_CONSTRAINTS
_In_ DWORD _In_opt_ LPCWSTR _In_ DWORD _Outptr_ void ** ppvFuncAddr
#define szOID_CRL_SELF_CDP
int WINAPI lstrcmpW(LPCWSTR lpString1, LPCWSTR lpString2)
#define szOID_OIWSEC_shaRSA
#define szOID_REQUEST_CLIENT_INFO
static LPWSTR CRYPT_AddStringToMultiString(LPWSTR multi, LPCWSTR toAdd, DWORD index)
#define CRYPT_OID_INFO_SIGN_KEY
#define CERT_RDN_IA5_STRING
#define IDS_PRIVATE_KEY_USAGE_PERIOD
#define szOID_RSA_preferSignedData
#define szOID_LOCALITY_NAME
static const CRYPT_DATA_BLOB dssSignBlob
#define IDS_ARCHIVED_KEY_ATTR
#define IDS_DELTA_CRL_INDICATOR
#define szOID_OIWSEC_md4RSA
#define szOID_CRL_REASON_CODE
#define IDS_ISSUING_DIST_POINT
#define IDS_DOCUMENT_SIGNING
#define szOID_CMC_SENDER_NONCE
static const WCHAR Phone[]
__WINE_SERVER_LIST_INLINE void list_add_head(struct list *list, struct list *elem)
static char * CRYPT_GetKeyName(DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID)
static struct OIDInfo * read_oid_info(HKEY root, char *key_name, DWORD *flags)
static const DWORD numericString[]
#define szOID_RSA_SMIMEalgCMS3DESwrap
static const WCHAR CRYPT_OID_INFO_ECC_PARAMETERS_ALGORITHM[]
static LPCWSTR CRYPT_FindStringInMultiString(LPCWSTR multi, LPCWSTR toFind)
static const WCHAR extraW[]
#define IDS_AUTHORITY_KEY_ID
#define szOID_COUNTRY_NAME
LONG WINAPI RegOpenKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _In_ DWORD ulOptions, _In_ REGSAM samDesired, _Out_ PHKEY phkResult)
int WINAPI lstrcmpA(LPCSTR lpString1, LPCSTR lpString2)
#define szOID_OIWSEC_sha1
#define szOID_KP_TIME_STAMP_SIGNING
#define BCRYPT_SHA256_ALGORITHM
BOOL WINAPI CryptInstallOIDFunctionAddress(HMODULE hModule, DWORD dwEncodingType, LPCSTR pszFuncName, DWORD cFuncEntry, const CRYPT_OID_FUNC_ENTRY rgFuncEntry[], DWORD dwFlags)
#define IDS_KEY_RECOVERY_AGENT
#define IDS_KEY_PACK_LICENSES
#define IDS_CROSS_CA_VERSION
_In_ DWORD _Out_writes_to_opt_ pcchDllList _Post_ _NullNull_terminated_ WCHAR _Inout_ DWORD * pcchDllList
static const WCHAR Description[]
#define szOID_COMMON_NAME
#define szOID_PKIX_KP_SERVER_AUTH
#define szOID_ROOT_LIST_SIGNER
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
static const WCHAR mosaicKMandUpdSig[]
#define IDS_CMC_ATTRIBUTES
#define IDS_DIGITAL_RIGHTS
#define szOID_RSA_unstructName
#define szOID_NT_PRINCIPAL_NAME
static const WCHAR shaDSA[]
static const WCHAR NO_SIGN[]
#define szOID_CMC_REVOKE_REQUEST
#define szOID_NETSCAPE_CERT_TYPE
static const WCHAR Email[]
static BOOL is_module_registered(HMODULE hModule)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
_In_ DWORD _In_ LPCSTR pszOID
static const WCHAR algidW[]
static CRITICAL_SECTION oidInfoCS
#define szOID_PKIX_KP_CODE_SIGNING
#define szOID_EMBEDDED_NT_CRYPTO
#define szOID_ORGANIZATIONAL_UNIT_NAME
#define szOID_X21_ADDRESS
#define szOID_RSA_SMIMEalgCMSRC2wrap
#define szOID_RSA_challengePwd
#define szOID_BASIC_CONSTRAINTS2
#define szOID_CMC_GET_CERT
static const WCHAR sha512[]
#define IDS_KEY_ATTRIBUTES
static const WCHAR PostalCode[]
int WINAPI lstrcmpiW(LPCWSTR lpString1, LPCWSTR lpString2)
void crypt_oid_free(void)
static const WCHAR RSA_KEYX[]
#define szOID_INFOSEC_mosaicKMandUpdSig
#define szOID_RSA_encryptedData
static const WCHAR sha1[]
#define IDS_TRANSACTION_ID
static const WCHAR sha1RSA[]
static const DWORD ia5String[]
#define sprintf(buf, format,...)
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
#define szOID_RSA_SMIMECapabilities
static struct list oidInfo
static const WCHAR dnQualifier[]
BOOL WINAPI CryptGetDefaultOIDFunctionAddress(HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, LPCWSTR pwszDll, DWORD dwFlags, void **ppvFuncAddr, HCRYPTOIDFUNCADDR *phFuncAddr)
#define szOID_FRESHEST_CRL
#define CRYPT_INSTALL_OID_INFO_BEFORE_FLAG
#define LIST_FOR_EACH_ENTRY(elem, list, type, field)
static const CRYPT_DATA_BLOB mosaicSignBlob
_In_ DWORD _Out_writes_to_opt_ pcchDllList _Post_ _NullNull_terminated_ WCHAR * pwszDllList
#define szOID_NETSCAPE_CA_POLICY_URL
LPVOID WINAPI CryptMemAlloc(ULONG cbSize)
static const DWORD domainCompTypes[]
#define IDS_SERIAL_NUMBER
#define IDS_ANY_CERT_POLICY
#define szOID_ENROLL_CERTTYPE_EXTENSION
static LPWSTR CRYPT_GetDefaultOIDDlls(HKEY key)
#define IDS_OEM_WHQL_CRYPTO
LONG WINAPI RegCloseKey(HKEY hKey)
#define szOID_NIST_sha384
#define szOID_DELTA_CRL_INDICATOR
#define szOID_RSA_SMIMEalgESDH
static void free_function_sets(void)
#define szOID_REQUIRE_CERT_CHAIN_POLICY
static const CRYPT_DATA_BLOB ia5StringBlob
#define IDS_SUBJECT_ALT_NAME
_In_ DWORD dwEncodingType
#define IDS_DS_EMAIL_REPLICATION
static const WCHAR sha1DSA[]
#define IDS_EMBEDDED_NT_CRYPTO
#define szOID_OIWDIR_md2RSA
#define IDS_ARCHIVED_KEY_CERT_HASH
#define szOID_POSTAL_CODE
static const WCHAR sha384ECDSA[]
#define szOID_DN_QUALIFIER
#define IDS_NETSCAPE_CA_POLICY_URL
#define IDS_QUALIFIED_SUBORDINATION
#define IDS_PRINCIPAL_NAME
#define IDS_PREVIOUS_CA_CERT_HASH
static const WCHAR dsaSHA1[]
VOID WINAPI InitializeCriticalSection(OUT LPCRITICAL_SECTION lpCriticalSection)
BOOL WINAPI CryptGetDefaultOIDDllList(HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, LPWSTR pwszDllList, DWORD *pcchDllList)
static BOOL CRYPT_SetDefaultOIDDlls(HKEY key, LPCWSTR dlls)
#define IDS_CMC_EXTENSIONS
static const WCHAR shaRSA[]
#define CERT_RDN_NUMERIC_STRING
static const WCHAR DSA_SIGN[]
#define szOID_ENROLLMENT_NAME_VALUE_PAIR
#define szOID_SUBJECT_ALT_NAME2
static UINT set(struct ID3DXConstantTableImpl *table, IDirect3DDevice9 *device, struct ctab_constant *constant, const void **indata, D3DXPARAMETER_TYPE intype, UINT *size, UINT incol, D3DXPARAMETER_CLASS inclass, UINT index, BOOL is_pointer)
#define szOID_CMC_REG_INFO
static void init_oid_info(void)
#define szOID_RSA_envelopedData
#define IDS_MICROSOFT_TIME_STAMPING
#define szOID_CT_PKI_RESPONSE
#define CRYPT_OID_NO_NULL_ALGORITHM_PARA_FLAG
#define szOID_STATE_OR_PROVINCE_NAME
#define szOID_ECDSA_SHA256
#define ERROR_FILE_NOT_FOUND
LONG WINAPI RegCreateKeyA(HKEY hKey, LPCSTR lpSubKey, PHKEY phkResult)
#define szOID_CRL_DIST_POINTS
static const WCHAR SpcMinimalCriteria[]
#define IDS_UNSIGNED_CMC_REQUEST
#define IDS_CROSS_CERT_DIST_POINTS
#define szOID_TELEPHONE_NUMBER
#define IDS_PKCS_7_ENVELOPED
#define IDS_CERT_EXTENSIONS
#define szOID_RSA_signEnvData
BOOL WINAPI CryptUnregisterOIDInfo(PCCRYPT_OID_INFO info)
#define szOID_PKIX_POLICY_QUALIFIER_USERNOTICE
#define IDS_NETSCAPE_CERT_TYPE
#define IDS_CERT_TEMPLATE_NAME
#define szOID_RSA_SHA256RSA
#define szOID_KP_CTL_USAGE_SIGNING
static void oid_init_localizednames(void)
#define szOID_OIWSEC_md5RSA
static const WCHAR sha512RSA[]
BOOL WINAPI CryptEnumOIDInfo(DWORD dwGroupId, DWORD dwFlags, void *pvArg, PFN_CRYPT_ENUM_OID_INFO pfnEnumOIDInfo)
#define IDS_UNSTRUCTURED_NAME
#define CRYPT_OID_INHIBIT_SIGNATURE_FORMAT_FLAG
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
#define szOID_CRL_NEXT_PUBLISH
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
#define IDS_CMC_STATUS_INFO
#define szOID_NEXT_UPDATE_LOCATION
#define IDS_POLICY_CONSTRAINTS
#define szOID_AUTHORITY_INFO_ACCESS
#define IDS_CRL_REASON_CODE
#define szOID_CROSS_CERT_DIST_POINTS
#define IDS_PKCS_7_ENCRYPTED
#define IS_INTRESOURCE(i)
static const WCHAR Title[]
#define szOID_RSA_certExtensions
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
#define IDS_SMART_CARD_LOGON
#define szOID_CT_PKI_DATA
BOOL WINAPI CryptUnregisterOIDFunction(DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID)
#define szOID_PRIVATEKEY_USAGE_PERIOD
static const WCHAR DISALLOWED[]
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
static const DWORD mosaicFlags
static const WCHAR sha256RSA[]
_In_z_ PCWSTR pwszValueName
static BOOL CRYPT_RemoveStringFromMultiString(LPWSTR multi, LPCWSTR toRemove)
#define IDS_NETSCAPE_REVOCATION_URL
#define szOID_CMC_ADD_EXTENSIONS
#define szOID_BASIC_CONSTRAINTS
#define GET_CERT_ENCODING_TYPE(x)
#define IDS_QUERY_PENDING
#define szOID_CERTIFICATE_TEMPLATE
#define szOID_OIWSEC_shaDSA
#define IDS_CRL_VIRTUAL_BASE
static const DWORD ecdsaSign[2]
#define IDS_CERT_POLICIES
#define szOID_NAME_CONSTRAINTS
static const WCHAR SpcFinancialCriteria[]
#define CERT_RDN_UTF8_STRING
#define CRYPT_GET_INSTALLED_OID_FUNC_FLAG
static const WCHAR mosaicUpdatedSig[]
unsigned __int3264 UINT_PTR
#define szOID_ANY_CERT_POLICY
#define szOID_NETSCAPE_COMMENT
#define IDS_ROOT_LIST_SIGNER
static const DWORD printableString[]
#define IDS_LIFETIME_SIGNING
static const CRYPT_DATA_BLOB domainCompTypesBlob
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
#define BCRYPT_SHA384_ALGORITHM
PCRITICAL_SECTION_DEBUG DebugInfo
#define IDS_CLIENT_INFORMATION
static void init_registered_oid_info(void)
static BOOL CRYPT_GetFuncFromReg(DWORD dwEncodingType, LPCSTR pszOID, LPCSTR szFuncName, LPVOID *ppvFuncAddr, HCRYPTOIDFUNCADDR *phFuncAddr)
static const CRYPT_DATA_BLOB ecdsaSignBlob
LPVOID WINAPI CryptMemRealloc(LPVOID pv, ULONG cbSize)
static const WCHAR cngextraalgidW[]
LONG WINAPI RegEnumKeyA(HKEY hKey, DWORD dwIndex, LPSTR lpName, DWORD cbName)
#define IDS_REQUIRE_CERT_CHAIN_POLICY
static const CRYPT_DATA_BLOB printableStringBlob
GLenum const GLvoid * addr
#define szOID_KP_CA_EXCHANGE
const WCHAR * pwszCNGExtraAlgid
#define CRYPT_REGISTER_LAST_INDEX
#define szOID_PKIX_KP_IPSEC_USER
#define szOID_OIWSEC_sha1RSASign
const WCHAR * pwszCNGAlgid
#define szOID_AUTHORITY_KEY_IDENTIFIER
#define IDS_ENHANCED_KEY_USAGE
const CRYPT_DATA_BLOB * blob
static const WCHAR ROOT[]
#define szOID_CMC_RECIPIENT_NONCE
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
#define szOID_POLICY_MAPPINGS
#define szOID_CERTSRV_CROSSCA_VERSION
#define IDS_RDN_DUMMY_SIGNER
#define CALG_OID_INFO_PARAMETERS
#define memcpy(s1, s2, n)
#define IDS_WINDOWS_PRODUCT_UPDATE
#define szOID_ANY_APPLICATION_POLICY
#define szOID_DOMAIN_COMPONENT
#define IDS_ENROLLMENT_CSP
#define szOID_SUBJECT_KEY_IDENTIFIER
#define IDS_ISSUER_ALT_NAME
#define szOID_OIWSEC_md4RSA2
#define szOID_RSA_contentType
#define IDS_STATE_OR_PROVINCE
#define szOID_LICENSE_SERVER
static const WCHAR cmsrc2wrap[]
LIST_ENTRY ProcessLocksList
#define CRYPT_OID_INFO_OID_KEY
#define szOID_RSA_SHA1RSA
static const DWORD noNullFlag
#define IDS_SUBJECT_KEY_IDENTIFIER
#define szOID_NIST_sha512
#define szOID_PKIX_NO_SIGNATURE
WINE_DEFAULT_DEBUG_CHANNEL(crypt)
#define szOID_ENROLLMENT_CSP_PROVIDER
#define szOID_ISSUER_ALT_NAME2
#define IDS_APPLICATION_POLICY_MAPPINGS
#define szOID_KP_KEY_RECOVERY
static const WCHAR SERIALNUMBER[]
#define IDS_POLICY_MAPPINGS
#define IDS_ORGANIZATIONAL_UNIT
#define IDS_CLIENT_AUTHENTICATION
_In_ DWORD _In_opt_ LPCWSTR _In_ DWORD _Outptr_ void _Inout_ HCRYPTOIDFUNCADDR * phFuncAddr
#define IDS_SERIALIZED_SIG_SERIAL_NUMBER
LONG WINAPI RegDeleteKeyA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey)
#define IDS_BASIC_CONSTRAINTS
#define szOID_RSA_DES_EDE3_CBC
static void free_oid_info(void)
#define CALG_OID_INFO_CNG_ONLY
DWORD WINAPI CertOIDToAlgId(LPCSTR pszObjId)
_In_ DWORD _In_opt_ LPCWSTR pwszDll
static const WCHAR md5RSA[]
static const WCHAR GivenName[]
#define IDS_ENROLLMENT_NAME_VALUE_PAIR
#define szOID_CERTSRV_PREVIOUS_CERT_HASH
#define szOID_ANSI_X942_DH
LPCSTR WINAPI CertAlgIdToOID(DWORD dwAlgId)
#define szOID_RSA_signedData
static unsigned __int64 next
#define IDS_CERTIFICATE_TEMPLATE
#define IDS_NETSCAPE_CERT_RENEWAL_URL
#define LIST_FOR_EACH_ENTRY_SAFE(cursor, cursor2, list, type, field)
#define szOID_NETSCAPE_BASE_URL
#define IDS_CHALLENGE_PASSWORD
int WINAPI lstrlenA(LPCSTR lpString)
static const CRYPT_DATA_BLOB noNullBlob
#define IDS_ENTERPRISE_ROOT_OID
static const DWORD rsaSign
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static const WCHAR tripledes[]
LPCWSTR WINAPI CryptFindLocalizedName(LPCWSTR pwszCryptName)
static const DWORD mosaicSign[2]
BOOL WINAPI CryptFreeOIDFunctionAddress(HCRYPTOIDFUNCADDR hFuncAddr, DWORD dwFlags)
#define szOID_SUBJECT_ALT_NAME
#define szOID_LEGACY_POLICY_MAPPINGS
#define szOID_RSA_messageDigest
#define szOID_CRL_VIRTUAL_BASE
#define szOID_X957_SHA1DSA
#define szOID_ARCHIVED_KEY_ATTR
#define IDS_NEXT_UPDATE_LOCATION
BOOL WINAPI CryptGetOIDFunctionValue(DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, LPCWSTR pwszValueName, DWORD *pdwValueType, BYTE *pbValueData, DWORD *pcbValueData)
#define szOID_OIWSEC_dsaSHA1
#define szOID_PKIX_CA_ISSUERS
static CRITICAL_SECTION_DEBUG funcSetCSDebug
void crypt_oid_init(void)
#define szOID_ENHANCED_KEY_USAGE
#define szOID_AUTHORITY_KEY_IDENTIFIER2
#define szOID_RSA_signingTime
#define IDS_LICENSE_SERVER
#define szOID_RSA_emailAddr
#define szOID_RDN_DUMMY_SIGNER
#define IDS_ANY_APPLICATION_POLICIES
#define IDS_TIME_STAMPING
#define szOID_APPLICATION_POLICY_MAPPINGS
#define CRYPT_OID_INFO_ALGID_KEY
char * strchr(const char *String, int ch)
VOID WINAPI CryptMemFree(LPVOID pv)
#define IDS_GET_CERTIFICATE
#define IDS_DOMAIN_COMPONENT
static const LPCWSTR LocalizedKeys[]
#define IDS_KEY_USAGE_RESTRICTION
#define IDS_UNSTRUCTURED_ADDRESS
#define IDS_EMAIL_ADDRESS
static const WCHAR flagsW[]
#define szOID_ISSUING_DIST_POINT
#define IDS_IPSEC_IKE_INTERMEDIATE
_Check_return_ long __cdecl strtol(_In_z_ const char *_Str, _Out_opt_ _Deref_post_z_ char **_EndPtr, _In_ int _Radix)
#define IDS_MESSAGE_DIGEST
#define szOID_CMC_STATUS_INFO
#define szOID_PKIX_KP_IPSEC_TUNNEL
#define IDS_PREFER_SIGNED_DATA
#define IDS_PKCS_7_DIGESTED
static const CRYPT_DATA_BLOB mosaicFlagsBlob
__WINE_SERVER_LIST_INLINE void list_init(struct list *list)
#define szOID_OEM_WHQL_CRYPTO
char * strcpy(char *DstString, const char *SrcString)
#define IDS_NETSCAPE_SSL_SERVER_NAME
static const WCHAR sha384RSA[]
static const DWORD dssSign[2]
BOOL WINAPI CryptGetOIDFunctionAddress(HCRYPTOIDFUNCSET hFuncSet, DWORD dwEncodingType, LPCSTR pszOID, DWORD dwFlags, void **ppvFuncAddr, HCRYPTOIDFUNCADDR *phFuncAddr)
#define IDS_ENROLLMENT_AGENT
static BOOL CRYPT_GetDefaultOIDKey(DWORD dwEncodingType, LPCSTR pszFuncName, PHKEY key)
#define szOID_APPLICATION_CERT_POLICIES
#define szOID_IPSEC_KP_IKE_INTERMEDIATE
#define szOID_YESNO_TRUST_ATTR
#define szOID_ORGANIZATION_NAME
#define GetProcAddress(x, y)
#define IDS_CERT_MANIFOLD
#define szOID_STREET_ADDRESS
#define szOID_INFOSEC_mosaicUpdatedSig
#define szOID_DESCRIPTION
static WCHAR LocalizedNames[ARRAY_SIZE(LocalizedKeys)][256]
BOOL WINAPI CryptSetOIDFunctionValue(DWORD dwEncodingType, LPCSTR pszFuncName, LPCSTR pszOID, LPCWSTR pwszValueName, DWORD dwValueType, const BYTE *pbValueData, DWORD cbValueData)
#define IDS_PKCS_7_SIGNED_ENVELOPED
#define szOID_RSA_digestedData
static const CRYPT_DATA_BLOB rsaSignBlob
GLuint GLuint GLsizei GLenum type
static CRITICAL_SECTION_DEBUG oidInfoCSDebug
LONG WINAPI RegSetValueExA(HKEY hKey, LPCSTR lpValueName, DWORD Reserved, DWORD dwType, CONST BYTE *lpData, DWORD cbData)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
#define IDS_IPSEC_END_SYSTEM
PCCRYPT_OID_INFO WINAPI CryptFindOIDInfo(DWORD dwKeyType, void *pvKey, DWORD dwGroupId)
LONG WINAPI RegCreateKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _In_ DWORD Reserved, _In_ LPSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_ LPDWORD lpdwDisposition)
#define CRYPT_OID_INFO_NAME_KEY
#define szOID_KP_SMARTCARD_LOGON
static const WCHAR RSA_SIGN[]
static const WCHAR sha384[]
static void PFN_CRYPT_ENUM_OID_INFO
#define szOID_NETSCAPE_SSL_SERVER_NAME
#define szOID_PKIX_KP_CLIENT_AUTH
#define szOID_RSA_counterSign
static const WCHAR cms3deswrap[]
#define szOID_PKIX_POLICY_QUALIFIER_CPS
static const WCHAR sha256[]
#define CERT_RDN_PRINTABLE_STRING
CRYPT_OID_FUNC_ENTRY entry
#define szOID_DS_EMAIL_REPLICATION
#define IDS_APPLICATION_POLICIES
static const WCHAR szFuncName[]
#define szOID_KP_LIFETIME_SIGNING
#define szOID_KEY_ATTRIBUTES
BOOL WINAPI CryptRegisterDefaultOIDFunction(DWORD dwEncodingType, LPCSTR pszFuncName, DWORD dwIndex, LPCWSTR pwszDll)
#define IDS_CRL_NEXT_PUBLISH
#define IDS_NETSCAPE_COMMENT
#define szOID_KP_QUALIFIED_SUBORDINATION
#define szOID_RSA_unstructAddr
DWORD_PTR Spare[8/sizeof(DWORD_PTR)]
#define IDS_STREET_ADDRESS
#define IDS_AUTHORITY_INFO_ACCESS
#define IDS_LOCALIZEDNAME_ROOT
#define szOID_CMC_TRANSACTION_ID
#define szOID_ENROLLMENT_AGENT
#define szOID_KP_DOCUMENT_SIGNING
#define szOID_EFS_RECOVERY
#define IDS_CRL_DIST_POINTS
#define HKEY_LOCAL_MACHINE
static const WCHAR X21Address[]
static DWORD CRYPT_GetMultiStringCharacterLen(LPCWSTR multi)
#define IDS_MICROSOFT_TRUST_LIST_SIGNING
#define szOID_ENTERPRISE_OID_ROOT
#define IDS_NETSCAPE_CA_REVOCATION_URL
#define szOID_NETSCAPE_CERT_RENEWAL_URL