ReactOS 0.4.17-dev-470-gf9e3448
main.c File Reference
#include <stdarg.h>
#include <stdlib.h>
#include <stdio.h>
#include "windef.h"
#include "winbase.h"
#include "winternl.h"
#include "wincrypt.h"
#include "winreg.h"
#include "winuser.h"
#include "i_cryptasn1tls.h"
#include "crypt32_private.h"
#include "wine/debug.h"
Include dependency graph for main.c:

Go to the source code of this file.

Typedefs

typedef voidHLRUCACHE
 

Functions

 WINE_DEFAULT_DEBUG_CHANNEL (crypt)
 
BOOL WINAPI DllMain (HINSTANCE hInst, DWORD reason, PVOID pvReserved)
 
static HCRYPTPROV CRYPT_GetDefaultProvider (void)
 
BOOL WINAPI I_CryptCreateLruCache (void *unknown, HLRUCACHE *out)
 
BOOL WINAPI I_CryptFindLruEntry (DWORD unk0, DWORD unk1)
 
BOOL WINAPI I_CryptFindLruEntryData (DWORD unk0, DWORD unk1, DWORD unk2)
 
BOOL WINAPI I_CryptCreateLruEntry (HLRUCACHE h, DWORD unk0, DWORD unk1)
 
DWORD WINAPI I_CryptFlushLruCache (HLRUCACHE h, DWORD unk0, DWORD unk1)
 
HLRUCACHE WINAPI I_CryptFreeLruCache (HLRUCACHE h, DWORD unk0, DWORD unk1)
 
LPVOID WINAPI CryptMemAlloc (ULONG cbSize)
 
LPVOID WINAPI CryptMemRealloc (LPVOID pv, ULONG cbSize)
 
VOID WINAPI CryptMemFree (LPVOID pv)
 
DWORD WINAPI I_CryptAllocTls (void)
 
LPVOID WINAPI I_CryptDetachTls (DWORD dwTlsIndex)
 
LPVOID WINAPI I_CryptGetTls (DWORD dwTlsIndex)
 
BOOL WINAPI I_CryptSetTls (DWORD dwTlsIndex, LPVOID lpTlsValue)
 
BOOL WINAPI I_CryptFreeTls (DWORD dwTlsIndex, DWORD unknown)
 
BOOL WINAPI I_CryptGetOssGlobal (DWORD x)
 
static BOOL is_supported_algid (HCRYPTPROV prov, ALG_ID algid)
 
HCRYPTPROV WINAPI DECLSPEC_HOTPATCH I_CryptGetDefaultCryptProv (ALG_ID algid)
 
BOOL WINAPI I_CryptReadTrustedPublisherDWORDValueFromRegistry (LPCWSTR name, DWORD *value)
 
DWORD WINAPI I_CryptInstallOssGlobal (DWORD x, DWORD y, DWORD z)
 
BOOL WINAPI I_CryptInstallAsn1Module (ASN1module_t x, DWORD y, void *z)
 
BOOL WINAPI I_CryptUninstallAsn1Module (HCRYPTASN1MODULE x)
 
ASN1decoding_t WINAPI I_CryptGetAsn1Decoder (HCRYPTASN1MODULE x)
 
ASN1encoding_t WINAPI I_CryptGetAsn1Encoder (HCRYPTASN1MODULE x)
 
BOOL WINAPI CryptProtectMemory (void *data, DWORD len, DWORD flags)
 
BOOL WINAPI CryptUnprotectMemory (void *data, DWORD len, DWORD flags)
 

Variables

static HCRYPTPROV hDefProv
 
HINSTANCE hInstance
 
static CRITICAL_SECTION prov_param_cs = { &prov_param_cs_debug, -1, 0, 0, 0, 0 }
 
static CRITICAL_SECTION_DEBUG prov_param_cs_debug
 

Typedef Documentation

◆ HLRUCACHE

typedef void* HLRUCACHE

Definition at line 91 of file main.c.

Function Documentation

◆ CRYPT_GetDefaultProvider()

static HCRYPTPROV CRYPT_GetDefaultProvider ( void  )
static

Definition at line 74 of file main.c.

75{
76 if (!hDefProv)
77 {
78 HCRYPTPROV prov;
79
82 return hDefProv;
84 NULL);
85 if (hDefProv != prov)
86 CryptReleaseContext(prov, 0);
87 }
88 return hDefProv;
89}
#define NULL
Definition: types.h:112
BOOL WINAPI CryptReleaseContext(HCRYPTPROV hProv, DWORD dwFlags)
Definition: crypt.c:641
BOOL WINAPI CryptAcquireContextW(HCRYPTPROV *phProv, LPCWSTR pszContainer, LPCWSTR pszProvider, DWORD dwProvType, DWORD dwFlags)
Definition: crypt.c:362
static HCRYPTPROV hDefProv
Definition: main.c:36
#define InterlockedCompareExchangePointer
Definition: interlocked.h:144
#define CRYPT_VERIFYCONTEXT
Definition: wincrypt.h:2273
ULONG_PTR HCRYPTPROV
Definition: wincrypt.h:55
#define PROV_RSA_AES
Definition: wincrypt.h:2260
static const WCHAR MS_ENH_RSA_AES_PROV_W[]
Definition: wincrypt.h:2221

Referenced by I_CryptGetDefaultCryptProv().

◆ CryptMemAlloc()

LPVOID WINAPI CryptMemAlloc ( ULONG  cbSize)

Definition at line 136 of file main.c.

137{
138 return malloc(cbSize);
139}
#define malloc
Definition: debug_ros.c:4

Referenced by accumulating_stream_output(), CContentEncryptInfo_Construct(), CDataEncodeMsg_Open(), CDecodeHashMsg_VerifyHash(), CDecodeMsg_CopyData(), CDecodeMsg_FinalizeHashedContent(), CDecodeMsg_SaveAlgorithmID(), CEnvelopedEncodeMsg_GetParam(), CEnvelopedEncodeMsg_Open(), CEnvelopedEncodeMsg_Update(), Cert_clone(), cert_prov_info_matches_cert(), CertAddEnhancedKeyUsageIdentifier(), CertAddStoreToCollection(), CertContext_SetKeyProvInfo(), CertContext_SetKeyProvInfoProperty(), CertCreateCertificateContext(), CertCreateCRLContext(), CertCreateCTLContext(), CertCreateSelfSignCertificate(), CertGetEnhancedKeyUsage(), CertGetNameStringA(), CertGetValidUsages(), CertNameToStrA(), CertRDNValueToStrA(), CertRemoveEnhancedKeyUsageIdentifier(), CertStrToNameA(), CertVerifyRevocation(), CHashEncodeMsg_GetParam(), CHashEncodeMsg_Open(), CHashEncodeMsg_Update(), CNG_CalcHash(), CNG_ImportECCPubKey(), CNG_ImportRSAPubKey(), CNG_PrepareCertSignature(), CNG_PrepareSignatureECC(), compare_cert_by_cert_id(), compare_cert_by_name_str(), compare_cert_by_signature_hash(), compare_crl_issued_by(), container_matches_cert(), Context_CreateDataContext(), Context_CreateLinkContext(), ContextPropertyList_Create(), ContextPropertyList_SetProperty(), convert_hash_to_blob(), convert_str_to_blob(), CRL_clone(), CRYPT_AcquirePrivateKeyFromProvInfo(), CRYPT_AddAlternateChainToChain(), CRYPT_AddCertToSimpleChain(), CRYPT_AddStringToMultiString(), CRYPT_AsnDecodeArray(), CRYPT_AsnEncodeBitsSwapBytes(), CRYPT_AsnEncodeNameConstraints(), CRYPT_AsnEncodeRdn(), CRYPT_AsnEncodeRsaPubKey_Bcrypt(), CRYPT_BuildCandidateChainFromCert(), CRYPT_CacheSIP(), CRYPT_CacheURL(), CRYPT_CollectionOpenStore(), CRYPT_ConstructAlgorithmId(), CRYPT_ConstructAttribute(), CRYPT_ConstructAttributes(), CRYPT_ConstructBitBlob(), CRYPT_ConstructBlob(), CRYPT_ConstructBlobArray(), CRYPT_CopyChainToElement(), CRYPT_CopySimpleChainToElement(), CRYPT_CrackUrl(), CRYPT_CreateBlob(), CRYPT_CreateChainEngine(), CRYPT_CreateFileStore(), CRYPT_CreateSignedCert(), CRYPT_DEREncodeItemsAsSet(), CRYPT_DownloadObject(), CRYPT_EncodeValueWithType(), CRYPT_ExportKeyTrans(), CRYPT_ExportPublicKeyInfoEx(), CRYPT_FileNameOpenStoreA(), CRYPT_FindIssuer(), CRYPT_GetDefaultOIDDlls(), CRYPT_GetFuncFromReg(), CRYPT_GetKeyName(), CRYPT_GetObjectFromCache(), CRYPT_GetObjectFromFile(), CRYPT_GetRetrieveFunction(), CRYPT_GetSignerCertInfoFromMsg(), CRYPT_GetSimpleChainForCert(), CRYPT_ImportKeyTrans(), CRYPT_ImportPublicKeyInfoEx(), CRYPT_IsCertificateSelfSigned(), CRYPT_KeynameKeeperFromTokenW(), CRYPT_MakeInetContext(), CRYPT_MemOpenStore(), CRYPT_MsgOpenStore(), CRYPT_ProvCreateStore(), CRYPT_QueryContextObject(), CRYPT_QueryEmbeddedMessageObject(), CRYPT_QueryMessageObject(), CRYPT_ReadBlobFromFile(), CRYPT_ReadSerializedStore(), CRYPT_RegDeleteContext(), CRYPT_RegOpenStore(), CRYPT_RegReadSerializedFromReg(), CRYPT_SavePKCSToFile(), CRYPT_SavePKCSToMem(), CRYPT_SerializeContextsToReg(), CRYPT_SerializeContextsToStream(), CRYPT_SerializeStoreElement(), CRYPT_SetBitInField(), CRYPT_SysOpenStoreA(), CRYPT_SysRegOpenStoreA(), CRYPT_SysRegOpenStoreW(), CRYPT_ValueToRDN(), CryptAcquireCertificatePrivateKey(), CryptEncryptMessage(), CryptGetDefaultOIDFunctionAddress(), CryptInitOIDFunctionSet(), CryptInstallOIDFunctionAddress(), CryptMsgOpenToDecode(), CryptProtectData(), CryptRegisterOIDInfo(), CryptRetrieveObjectByUrlA(), CryptSignAndEncodeCertificate(), CryptSignMessage(), CryptUnregisterOIDInfo(), CSignedEncodeMsg_GetParam(), CSignedEncodeMsg_Open(), CSignedEncodeMsg_Update(), CSignedMsgData_AllocateHandles(), CSignedMsgData_Sign(), decode_base64_blob(), dump_element(), extract_hash(), File_RetrieveEncodedObjectW(), fill_protect_data(), find_cert_by_name_str_a(), find_cert_by_name_str_w(), find_matching_provider(), g_malloc(), get_provider_property(), I_CryptGetDefaultCryptProv(), import_key(), init_oid_info(), key_prov_info_matches_cert(), load_encryption_key(), mem_alloc(), name_value_to_str(), PFXImportCertStore(), read_oid_info(), read_serialized_KeyProvInfoProperty(), read_trusted_roots_from_known_locations(), serialize_KeyProvInfoProperty(), set_key_prov_info(), test_cryptAllocate(), test_data_msg_update(), test_decode_msg_get_param(), test_encrypt_message(), test_getDefaultCryptProv(), test_sign_message(), test_verify_message_hash(), TrustIsCertificateSelfSigned(), unserialize_string(), and verify_cert_revocation_from_dist_points_ext().

◆ CryptMemFree()

VOID WINAPI CryptMemFree ( LPVOID  pv)

Definition at line 146 of file main.c.

147{
148 free(pv);
149}
#define free
Definition: debug_ros.c:5

Referenced by CContentEncryptInfo_Free(), CDecodeHashMsg_VerifyHash(), CDecodeMsg_Close(), CDecodeMsg_FinalizeHashedContent(), CDecodeMsg_SaveAlgorithmID(), CDecodeSignedMsg_VerifySignatureWithKey(), CEnvelopedEncodeMsg_Close(), CEnvelopedEncodeMsg_GetParam(), CEnvelopedEncodeMsg_Update(), Cert_free(), cert_prov_info_matches_cert(), CertAddEnhancedKeyUsageIdentifier(), CertContext_SetKeyProvInfo(), CertContext_SetKeyProvInfoProperty(), CertCreateCTLContext(), CertCreateSelfSignCertificate(), CertGetEnhancedKeyUsage(), CertGetNameStringA(), CertGetValidUsages(), CertNameToStrA(), CertRDNValueToStrA(), CertRemoveEnhancedKeyUsageIdentifier(), CertRemoveStoreFromCollection(), CertStrToNameA(), CertStrToNameW(), CertVerifyRevocation(), CHashEncodeMsg_Close(), CHashEncodeMsg_GetParam(), CNG_CalcHash(), CNG_ImportECCPubKey(), CNG_ImportRSAPubKey(), CNG_PrepareCertSignature(), cng_verify_msg_signature(), CNG_VerifySignature(), Collection_release(), compare_cert_by_cert_id(), compare_cert_by_name_str(), compare_cert_by_signature_hash(), compare_crl_issued_by(), Context_CreateDataContext(), Context_Free(), ContextPropertyList_Free(), ContextPropertyList_RemoveProperty(), ContextPropertyList_SetProperty(), convert_hash_to_blob(), CRecipientInfo_Free(), CRL_free(), CRYPT_AcquirePrivateKeyFromProvInfo(), CRYPT_AddCertToSimpleChain(), CRYPT_AddStringToMultiString(), CRYPT_AsnDecodeArray(), CRYPT_AsnEncodeBitsSwapBytes(), CRYPT_AsnEncodeNameConstraints(), CRYPT_AsnEncodeRdn(), CRYPT_AsnEncodeRsaPubKey_Bcrypt(), CRYPT_CacheURL(), CRYPT_CopyChainToElement(), CRYPT_CopySimpleChainToElement(), CRYPT_CrackUrl(), CRYPT_CreateContext(), CRYPT_CreateSignedCert(), CRYPT_DEREncodeItemsAsSet(), CRYPT_DownloadObject(), CRYPT_EncodePKCSDigestedData(), CRYPT_EncodeValueWithType(), CRYPT_ExportEncryptedKey(), CRYPT_ExportKeyTrans(), CRYPT_ExportPublicKeyInfoEx(), CRYPT_FileCloseStore(), CRYPT_FileControl(), CRYPT_FileNameOpenStoreA(), CRYPT_FindIssuer(), CRYPT_FreeBlob(), CRYPT_FreeBlobArray(), CRYPT_FreeChainContext(), CRYPT_FreeChainElement(), CRYPT_FreeKeynameKeeper(), CRYPT_FreeLowerQualityChains(), CRYPT_FreeSimpleChain(), CRYPT_FreeStore(), CRYPT_GetDefaultOIDDlls(), CRYPT_GetDefaultOIDKey(), CRYPT_GetFuncFromReg(), CRYPT_GetObjectFromCache(), CRYPT_GetObjectFromFile(), CRYPT_GetRetrieveFunction(), CRYPT_GetSignerCertInfoFromMsg(), CRYPT_ImportKeyTrans(), CRYPT_ImportPublicKeyInfoEx(), CRYPT_IsCertificateSelfSigned(), CRYPT_MakeInetContext(), CRYPT_MsgOpenStore(), CRYPT_QueryContextObject(), CRYPT_QueryEmbeddedMessageObject(), CRYPT_QueryMessageObject(), CRYPT_QueryPFXObject(), CRYPT_QuerySerializedContextObject(), CRYPT_ReadBlobFromFile(), CRYPT_ReadContextProp(), CRYPT_ReadSerializedStore(), CRYPT_RegCloseStore(), CRYPT_RegDeleteContext(), CRYPT_RegReadSerializedFromReg(), CRYPT_RegWriteToReg(), CRYPT_SavePKCSToMem(), CRYPT_SerializeContextsToReg(), CRYPT_SerializeContextsToStream(), CRYPT_SerializeStoreElement(), crypt_sip_free(), CRYPT_SysOpenStoreA(), CRYPT_SysRegOpenStoreA(), CRYPT_SysRegOpenStoreW(), CryptAcquireCertificatePrivateKey(), CryptEncryptMessage(), CryptFreeOIDFunctionAddress(), CryptGetDefaultOIDDllList(), CryptGetDefaultOIDFunctionAddress(), CryptGetOIDFunctionValue(), CryptInitOIDFunctionSet(), CryptMsgClose(), CryptMsgGetAndVerifySigner(), CryptRegisterDefaultOIDFunction(), CryptRegisterOIDFunction(), CryptRegisterOIDInfo(), CryptRetrieveObjectByUrlA(), CryptSetOIDFunctionValue(), CryptSignAndEncodeCertificate(), CryptSignMessage(), CryptUnregisterDefaultOIDFunction(), CryptUnregisterOIDFunction(), CryptUnregisterOIDInfo(), CryptVerifyDetachedMessageSignature(), CryptVerifyMessageSignature(), CSignedEncodeMsg_Close(), CSignedEncodeMsg_GetParam(), CSignedEncodeMsg_Open(), CSignedMsgData_AppendMessageDigestAttribute(), CSignedMsgData_CloseHandles(), CSignerInfo_Free(), CTL_free(), decode_base64_blob(), dump_alt_name_entry(), dump_element(), extract_hash(), File_RetrieveEncodedObjectW(), find_cert_by_name_str_a(), find_cert_by_name_str_w(), find_matching_provider(), free_chain_engine(), free_function_sets(), free_oid_info(), free_protect_data(), free_updates(), g_free(), get_provider_property(), hash_matches_blob(), HTTP_RetrieveEncodedObjectW(), I_CryptGetDefaultCryptProv(), import_key(), key_prov_info_matches_cert(), load_encryption_key(), mem_free(), PFXImportCertStore(), read_trusted_roots_from_known_locations(), set_key_prov_info(), test_cryptAllocate(), test_data_msg_update(), test_decode_msg_get_param(), test_encrypt_message(), test_getDefaultCryptProv(), test_retrieveObjectByUrl(), test_sign_message(), test_verify_message_hash(), TrustIsCertificateSelfSigned(), and verify_cert_revocation_from_dist_points_ext().

◆ CryptMemRealloc()

◆ CryptProtectMemory()

BOOL WINAPI CryptProtectMemory ( void data,
DWORD  len,
DWORD  flags 
)

Definition at line 311 of file main.c.

312{
313 static int fixme_once;
314 if (!fixme_once++) FIXME("(%p %lu %08lx): stub\n", data, len, flags);
315 return TRUE;
316}
#define FIXME(fmt,...)
Definition: precomp.h:53
#define TRUE
Definition: types.h:120
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLbitfield flags
Definition: glext.h:7161
GLenum GLsizei len
Definition: glext.h:6722

◆ CryptUnprotectMemory()

BOOL WINAPI CryptUnprotectMemory ( void data,
DWORD  len,
DWORD  flags 
)

Definition at line 318 of file main.c.

319{
320 static int fixme_once;
321 if (!fixme_once++) FIXME("(%p %lu %08lx): stub\n", data, len, flags);
322 return TRUE;
323}

◆ DllMain()

BOOL WINAPI DllMain ( HINSTANCE  hInst,
DWORD  reason,
PVOID  pvReserved 
)

Definition at line 49 of file main.c.

50{
51 switch (reason)
52 {
59 return FALSE;
61 break;
63 if (pvReserved) break;
69 break;
70 }
71 return TRUE;
72}
HINSTANCE hInstance
Definition: charmap.c:19
void crypt_oid_init(void)
Definition: oid.c:1829
void crypt_oid_free(void)
Definition: oid.c:1835
#define CRYPT32_CALL(func, params)
void init_empty_store(void)
Definition: store.c:1505
void crypt_sip_free(void)
Definition: sip.c:578
#define FALSE
Definition: types.h:117
void default_chain_engine_free(void)
Definition: chain.c:251
static WCHAR reason[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1971
#define DLL_PROCESS_ATTACH
Definition: compat.h:131
#define DLL_PROCESS_DETACH
Definition: compat.h:130
BOOL WINAPI DisableThreadLibraryCalls(IN HMODULE hLibModule)
Definition: loader.c:85
static void process_detach(void)
Definition: main.c:94
HINSTANCE hInst
Definition: dxdiag.c:13
static LPCWSTR LPVOID pvReserved
Definition: asmcache.c:749
static NTSTATUS process_attach(void *args)
Definition: unixlib.c:361
#define __wine_init_unix_call()
Definition: unixlib.h:13

◆ I_CryptAllocTls()

DWORD WINAPI I_CryptAllocTls ( void  )

Definition at line 151 of file main.c.

152{
153 return TlsAlloc();
154}
DWORD WINAPI DECLSPEC_HOTPATCH TlsAlloc(void)
Definition: thread.c:657

◆ I_CryptCreateLruCache()

BOOL WINAPI I_CryptCreateLruCache ( void unknown,
HLRUCACHE out 
)

Definition at line 99 of file main.c.

100{
101 FIXME("(%p, %p): stub!\n", unknown, out);
102 *out = (void *)0xbaadf00d;
103 return TRUE;
104}
static WCHAR unknown[MAX_STRING_RESOURCE_LEN]
Definition: object.c:1674
wchar_t tm const _CrtWcstime_Writes_and_advances_ptr_ count wchar_t ** out
Definition: wcsftime.cpp:383

◆ I_CryptCreateLruEntry()

BOOL WINAPI I_CryptCreateLruEntry ( HLRUCACHE  h,
DWORD  unk0,
DWORD  unk1 
)

Definition at line 118 of file main.c.

119{
120 FIXME("(%p, %08lx, %08lx): stub!\n", h, unk0, unk1);
121 return FALSE;
122}
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
static DWORD unk1
Definition: cursoricon.c:1804

◆ I_CryptDetachTls()

LPVOID WINAPI I_CryptDetachTls ( DWORD  dwTlsIndex)

Definition at line 156 of file main.c.

157{
158 LPVOID ret;
159
162 return ret;
163}
LPVOID WINAPI TlsGetValue(IN DWORD Index)
Definition: thread.c:1240
BOOL WINAPI TlsSetValue(IN DWORD Index, IN LPVOID Value)
Definition: thread.c:1276
return ret
Definition: mutex.c:146
static DWORD dwTlsIndex
Definition: wintirpc.c:34

◆ I_CryptFindLruEntry()

BOOL WINAPI I_CryptFindLruEntry ( DWORD  unk0,
DWORD  unk1 
)

Definition at line 106 of file main.c.

107{
108 FIXME("(%08lx, %08lx): stub!\n", unk0, unk1);
109 return FALSE;
110}

◆ I_CryptFindLruEntryData()

BOOL WINAPI I_CryptFindLruEntryData ( DWORD  unk0,
DWORD  unk1,
DWORD  unk2 
)

Definition at line 112 of file main.c.

113{
114 FIXME("(%08lx, %08lx, %08lx): stub!\n", unk0, unk1, unk2);
115 return FALSE;
116}

◆ I_CryptFlushLruCache()

DWORD WINAPI I_CryptFlushLruCache ( HLRUCACHE  h,
DWORD  unk0,
DWORD  unk1 
)

Definition at line 124 of file main.c.

125{
126 FIXME("(%p, %08lx, %08lx): stub!\n", h, unk0, unk1);
127 return 0;
128}

◆ I_CryptFreeLruCache()

HLRUCACHE WINAPI I_CryptFreeLruCache ( HLRUCACHE  h,
DWORD  unk0,
DWORD  unk1 
)

Definition at line 130 of file main.c.

131{
132 FIXME("(%p, %08lx, %08lx): stub!\n", h, unk0, unk1);
133 return h;
134}

◆ I_CryptFreeTls()

BOOL WINAPI I_CryptFreeTls ( DWORD  dwTlsIndex,
DWORD  unknown 
)

Definition at line 175 of file main.c.

176{
177 BOOL ret;
178
179 TRACE("(%ld, %ld)\n", dwTlsIndex, unknown);
180
183 return ret;
184}
#define E_INVALIDARG
Definition: ddrawi.h:101
#define SetLastError(x)
Definition: compat.h:752
BOOL WINAPI TlsFree(IN DWORD Index)
Definition: thread.c:1166
unsigned int BOOL
Definition: ntddk_ex.h:94
#define TRACE(s)
Definition: solgame.cpp:4

◆ I_CryptGetAsn1Decoder()

ASN1decoding_t WINAPI I_CryptGetAsn1Decoder ( HCRYPTASN1MODULE  x)

Definition at line 299 of file main.c.

300{
301 FIXME("(%08lx): stub\n", x);
302 return NULL;
303}
GLint GLint GLint GLint GLint x
Definition: gl.h:1548

◆ I_CryptGetAsn1Encoder()

ASN1encoding_t WINAPI I_CryptGetAsn1Encoder ( HCRYPTASN1MODULE  x)

Definition at line 305 of file main.c.

306{
307 FIXME("(%08lx): stub\n", x);
308 return NULL;
309}

◆ I_CryptGetDefaultCryptProv()

HCRYPTPROV WINAPI DECLSPEC_HOTPATCH I_CryptGetDefaultCryptProv ( ALG_ID  algid)

Definition at line 215 of file main.c.

216{
217 HCRYPTPROV prov, defprov;
218
219 TRACE("(%08x)\n", algid);
220
221 defprov = CRYPT_GetDefaultProvider();
222
223 if (algid && !is_supported_algid(defprov, algid))
224 {
225 DWORD i = 0, type, size;
226
227 while (CryptEnumProvidersW(i, NULL, 0, &type, NULL, &size))
228 {
230 if (name)
231 {
232 if (CryptEnumProvidersW(i, NULL, 0, &type, name, &size))
233 {
235 {
236 if (is_supported_algid(prov, algid))
237 {
239 return prov;
240 }
241 CryptReleaseContext(prov, 0);
242 }
243 }
245 }
246 i++;
247 }
248
250 return 0;
251 }
252
253 CryptContextAddRef(defprov, NULL, 0);
254 return defprov;
255}
BOOL WINAPI CryptContextAddRef(HCRYPTPROV hProv, DWORD *pdwReserved, DWORD dwFlags)
Definition: crypt.c:615
BOOL WINAPI CryptEnumProvidersW(DWORD dwIndex, DWORD *pdwReserved, DWORD dwFlags, DWORD *pdwProvType, LPWSTR pszProvName, DWORD *pcbProvName)
Definition: crypt.c:1119
LPVOID WINAPI CryptMemAlloc(ULONG cbSize)
Definition: main.c:136
VOID WINAPI CryptMemFree(LPVOID pv)
Definition: main.c:146
static BOOL is_supported_algid(HCRYPTPROV prov, ALG_ID algid)
Definition: main.c:192
static HCRYPTPROV CRYPT_GetDefaultProvider(void)
Definition: main.c:74
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
GLsizeiptr size
Definition: glext.h:5919
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
Definition: glfuncs.h:248
short WCHAR
Definition: pedump.c:58
Definition: name.c:39

Referenced by CDecodeMsg_FinalizeHashedContent(), CEnvelopedEncodeMsg_Open(), CertGetPublicKeyLength(), CHashEncodeMsg_Open(), CRYPT_VerifySignature(), CryptHashCertificate(), CryptHashPublicKeyInfo(), CryptHashToBeSigned(), CryptSignCertificate(), and CSignedMsgData_ConstructSignerHandles().

◆ I_CryptGetOssGlobal()

BOOL WINAPI I_CryptGetOssGlobal ( DWORD  x)

Definition at line 186 of file main.c.

187{
188 FIXME("%08lx\n", x);
189 return FALSE;
190}

◆ I_CryptGetTls()

LPVOID WINAPI I_CryptGetTls ( DWORD  dwTlsIndex)

Definition at line 165 of file main.c.

166{
167 return TlsGetValue(dwTlsIndex);
168}

◆ I_CryptInstallAsn1Module()

BOOL WINAPI I_CryptInstallAsn1Module ( ASN1module_t  x,
DWORD  y,
void z 
)

Definition at line 287 of file main.c.

288{
289 FIXME("(%p %08lx %p): stub\n", x, y, z);
290 return TRUE;
291}
GLint GLint GLint GLint GLint GLint y
Definition: gl.h:1548
GLdouble GLdouble z
Definition: glext.h:5874

◆ I_CryptInstallOssGlobal()

DWORD WINAPI I_CryptInstallOssGlobal ( DWORD  x,
DWORD  y,
DWORD  z 
)

Definition at line 279 of file main.c.

280{
281 static int ret = 8;
282 ret++;
283 FIXME("%08lx %08lx %08lx, return value %d\n", x, y, z,ret);
284 return ret;
285}

◆ I_CryptReadTrustedPublisherDWORDValueFromRegistry()

BOOL WINAPI I_CryptReadTrustedPublisherDWORDValueFromRegistry ( LPCWSTR  name,
DWORD value 
)

Definition at line 257 of file main.c.

259{
260 HKEY key;
261 LONG rc;
262 BOOL ret = FALSE;
263
264 TRACE("(%s, %p)\n", debugstr_w(name), value);
265
266 *value = 0;
267 rc = RegCreateKeyW(HKEY_LOCAL_MACHINE, L"Software\\Policies\\Microsoft\\SystemCertificates\\TrustedPublisher\\Safer", &key);
268 if (rc == ERROR_SUCCESS)
269 {
270 DWORD size = sizeof(DWORD);
271
273 ret = TRUE;
275 }
276 return ret;
277}
#define RegCloseKey(hKey)
Definition: registry.h:49
#define ERROR_SUCCESS
Definition: deptool.c:10
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
Definition: reg.c:4103
LONG WINAPI RegCreateKeyW(HKEY hKey, LPCWSTR lpSubKey, PHKEY phkResult)
Definition: reg.c:1201
#define L(x)
Definition: resources.c:13
#define debugstr_w
Definition: kernel32.h:32
#define DWORD
Definition: nt_native.h:44
long LONG
Definition: pedump.c:60
Definition: copy.c:22
unsigned char * LPBYTE
Definition: typedefs.h:53
Definition: pdh_main.c:96
#define HKEY_LOCAL_MACHINE
Definition: winreg.h:12

◆ I_CryptSetTls()

BOOL WINAPI I_CryptSetTls ( DWORD  dwTlsIndex,
LPVOID  lpTlsValue 
)

Definition at line 170 of file main.c.

171{
172 return TlsSetValue(dwTlsIndex, lpTlsValue);
173}

◆ I_CryptUninstallAsn1Module()

BOOL WINAPI I_CryptUninstallAsn1Module ( HCRYPTASN1MODULE  x)

Definition at line 293 of file main.c.

294{
295 FIXME("(%08lx): stub\n", x);
296 return TRUE;
297}

◆ is_supported_algid()

static BOOL is_supported_algid ( HCRYPTPROV  prov,
ALG_ID  algid 
)
static

Definition at line 192 of file main.c.

193{
194 PROV_ENUMALGS prov_algs;
195 DWORD size = sizeof(prov_algs);
196 BOOL ret = FALSE;
197
198 /* This enumeration is not thread safe */
200 if (CryptGetProvParam(prov, PP_ENUMALGS, (BYTE *)&prov_algs, &size, CRYPT_FIRST))
201 {
202 do
203 {
204 if (prov_algs.aiAlgid == algid)
205 {
206 ret = TRUE;
207 break;
208 }
209 } while (CryptGetProvParam(prov, PP_ENUMALGS, (BYTE *)&prov_algs, &size, CRYPT_NEXT));
210 }
212 return ret;
213}
BOOL WINAPI CryptGetProvParam(HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags)
Definition: crypt.c:1667
static CRITICAL_SECTION prov_param_cs
Definition: main.c:39
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define PP_ENUMALGS
Definition: wincrypt.h:2286
#define CRYPT_FIRST
Definition: wincrypt.h:2264
#define CRYPT_NEXT
Definition: wincrypt.h:2265
unsigned char BYTE
Definition: xxhash.c:193

Referenced by I_CryptGetDefaultCryptProv().

◆ WINE_DEFAULT_DEBUG_CHANNEL()

WINE_DEFAULT_DEBUG_CHANNEL ( crypt  )

Variable Documentation

◆ hDefProv

HCRYPTPROV hDefProv
static

Definition at line 36 of file main.c.

Referenced by CRYPT_GetDefaultProvider(), and DllMain().

◆ hInstance

HINSTANCE hInstance

Definition at line 37 of file main.c.

◆ prov_param_cs

static CRITICAL_SECTION prov_param_cs = { &prov_param_cs_debug, -1, 0, 0, 0, 0 }
static

Definition at line 39 of file main.c.

Referenced by is_supported_algid().

◆ prov_param_cs_debug

CRITICAL_SECTION_DEBUG prov_param_cs_debug
static
Initial value:
=
{
0, 0, &prov_param_cs,
0, 0, { (DWORD_PTR)(__FILE__ ": prov_param_cs") }
}
static CRITICAL_SECTION_DEBUG prov_param_cs_debug
Definition: main.c:40
#define DWORD_PTR
Definition: treelist.c:76

Definition at line 40 of file main.c.