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