Data Structures |
| struct | RSAENH_TLS1PRF_PARAMS |
| struct | PCRYPTHASH |
| struct | RSAENH_SCHANNEL_INFO |
| struct | PCRYPTKEY |
| struct | KEYCONTAINER |
Defines |
| #define | RSAENH_MAGIC_HASH 0x85938417u |
| #define | RSAENH_MAX_HASH_SIZE 104 |
| #define | RSAENH_HASHSTATE_HASHING 1 |
| #define | RSAENH_HASHSTATE_FINISHED 2 |
| #define | RSAENH_MAGIC_KEY 0x73620457u |
| #define | RSAENH_MAX_KEY_SIZE 64 |
| #define | RSAENH_MAX_BLOCK_SIZE 24 |
| #define | RSAENH_KEYSTATE_IDLE 0 |
| #define | RSAENH_KEYSTATE_ENCRYPTING 1 |
| #define | RSAENH_KEYSTATE_MASTERKEY 2 |
| #define | RSAENH_PERSONALITY_BASE 0u |
| #define | RSAENH_PERSONALITY_STRONG 1u |
| #define | RSAENH_PERSONALITY_ENHANCED 2u |
| #define | RSAENH_PERSONALITY_SCHANNEL 3u |
| #define | RSAENH_PERSONALITY_AES 4u |
| #define | RSAENH_MAGIC_CONTAINER 0x26384993u |
| #define | RSAENH_ENCRYPT 1 |
| #define | RSAENH_DECRYPT 0 |
| #define | RSAENH_HMAC_DEF_IPAD_CHAR 0x36 |
| #define | RSAENH_HMAC_DEF_OPAD_CHAR 0x5c |
| #define | RSAENH_HMAC_DEF_PAD_LEN 64 |
| #define | RSAENH_HMAC_BLOCK_LEN 64 |
| #define | RSAENH_DES_EFFECTIVE_KEYLEN 56 |
| #define | RSAENH_DES_STORAGE_KEYLEN 64 |
| #define | RSAENH_3DES112_EFFECTIVE_KEYLEN 112 |
| #define | RSAENH_3DES112_STORAGE_KEYLEN 128 |
| #define | RSAENH_3DES_EFFECTIVE_KEYLEN 168 |
| #define | RSAENH_3DES_STORAGE_KEYLEN 192 |
| #define | RSAENH_MAGIC_RSA2 0x32415352 |
| #define | RSAENH_MAGIC_RSA1 0x31415352 |
| #define | RSAENH_PKC_BLOCKTYPE 0x02 |
| #define | RSAENH_SSL3_VERSION_MAJOR 3 |
| #define | RSAENH_SSL3_VERSION_MINOR 0 |
| #define | RSAENH_TLS1_VERSION_MAJOR 3 |
| #define | RSAENH_TLS1_VERSION_MINOR 1 |
| #define | RSAENH_REGKEY "Software\\Wine\\Crypto\\RSA\\%s" |
| #define | RSAENH_MIN(a, b) ((a)<(b)?(a):(b)) |
| #define | RSAENH_MAX_ENUMALGS 24 |
| #define | RSAENH_PCT1_SSL2_SSL3_TLS1 (CRYPT_FLAG_PCT1|CRYPT_FLAG_SSL2|CRYPT_FLAG_SSL3|CRYPT_FLAG_TLS1) |
Functions |
| | WINE_DEFAULT_DEBUG_CHANNEL (crypt) |
| BOOL WINAPI | RSAENH_CPGetKeyParam (HCRYPTPROV hProv, HCRYPTKEY hKey, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags) |
| BOOL WINAPI | RSAENH_CPEncrypt (HCRYPTPROV hProv, HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen, DWORD dwBufLen) |
| BOOL WINAPI | RSAENH_CPCreateHash (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey, DWORD dwFlags, HCRYPTHASH *phHash) |
| BOOL WINAPI | RSAENH_CPSetHashParam (HCRYPTPROV hProv, HCRYPTHASH hHash, DWORD dwParam, BYTE *pbData, DWORD dwFlags) |
| BOOL WINAPI | RSAENH_CPGetHashParam (HCRYPTPROV hProv, HCRYPTHASH hHash, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags) |
| BOOL WINAPI | RSAENH_CPDestroyHash (HCRYPTPROV hProv, HCRYPTHASH hHash) |
| static BOOL | crypt_export_key (CRYPTKEY *pCryptKey, HCRYPTKEY hPubKey, DWORD dwBlobType, DWORD dwFlags, BOOL force, BYTE *pbData, DWORD *pdwDataLen) |
| static BOOL | import_key (HCRYPTPROV hProv, CONST BYTE *pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags, BOOL fStoreKey, HCRYPTKEY *phKey) |
| BOOL WINAPI | RSAENH_CPHashData (HCRYPTPROV hProv, HCRYPTHASH hHash, CONST BYTE *pbData, DWORD dwDataLen, DWORD dwFlags) |
| int WINAPI | DllMain (HINSTANCE hInstance, DWORD fdwReason, PVOID pvReserved) |
| static BOOL | copy_param (BYTE *pbBuffer, DWORD *pdwBufferSize, CONST BYTE *pbParam, DWORD dwParamSize) |
| static const PROV_ENUMALGS_EX * | get_algid_info (HCRYPTPROV hProv, ALG_ID algid) |
| static BOOL | copy_data_blob (PCRYPT_DATA_BLOB dst, CONST PCRYPT_DATA_BLOB src) |
| static BOOL | concat_data_blobs (PCRYPT_DATA_BLOB dst, CONST PCRYPT_DATA_BLOB src1, CONST PCRYPT_DATA_BLOB src2) |
| static void | free_data_blob (PCRYPT_DATA_BLOB pBlob) |
| static void | init_data_blob (PCRYPT_DATA_BLOB pBlob) |
| static void | free_hmac_info (PHMAC_INFO hmac_info) |
| static BOOL | copy_hmac_info (PHMAC_INFO *dst, const HMAC_INFO *src) |
| static void | destroy_hash (OBJECTHDR *pObject) |
| static BOOL | init_hash (CRYPTHASH *pCryptHash) |
| static void | update_hash (CRYPTHASH *pCryptHash, CONST BYTE *pbData, DWORD dwDataLen) |
| static void | finalize_hash (CRYPTHASH *pCryptHash) |
| static void | destroy_key (OBJECTHDR *pObject) |
| static void | setup_key (CRYPTKEY *pCryptKey) |
| static HCRYPTKEY | new_key (HCRYPTPROV hProv, ALG_ID aiAlgid, DWORD dwFlags, CRYPTKEY **ppCryptKey) |
| static LPCSTR | map_key_spec_to_key_pair_name (DWORD dwKeySpec) |
| static void | store_key_pair (HCRYPTKEY hCryptKey, HKEY hKey, DWORD dwKeySpec, DWORD dwFlags) |
| static LPCSTR | map_key_spec_to_permissions_name (DWORD dwKeySpec) |
| static void | store_key_permissions (HCRYPTKEY hCryptKey, HKEY hKey, DWORD dwKeySpec) |
| static BOOL | create_container_key (KEYCONTAINER *pKeyContainer, REGSAM sam, HKEY *phKey) |
| static BOOL | open_container_key (LPCSTR pszContainerName, DWORD dwFlags, HKEY *phKey) |
| static BOOL | delete_container_key (LPCSTR pszContainerName, DWORD dwFlags) |
| static void | store_key_container_keys (KEYCONTAINER *pKeyContainer) |
| static void | store_key_container_permissions (KEYCONTAINER *pKeyContainer) |
| static void | release_key_container_keys (KEYCONTAINER *pKeyContainer) |
| static void | destroy_key_container (OBJECTHDR *pObjectHdr) |
| static HCRYPTPROV | new_key_container (PCCH pszContainerName, DWORD dwFlags, const VTableProvStruc *pVTable) |
| static BOOL | read_key_value (HCRYPTPROV hKeyContainer, HKEY hKey, DWORD dwKeySpec, DWORD dwFlags, HCRYPTKEY *phCryptKey) |
| static HCRYPTPROV | read_key_container (PCHAR pszContainerName, DWORD dwFlags, const VTableProvStruc *pVTable) |
| static BOOL | build_hash_signature (BYTE *pbSignature, DWORD dwLen, ALG_ID aiAlgid, CONST BYTE *abHashValue, DWORD dwHashLen, DWORD dwFlags) |
| static BOOL | tls1_p (HCRYPTHASH hHMAC, CONST PCRYPT_DATA_BLOB pblobSeed, PBYTE pbBuffer, DWORD dwBufferLen) |
| static BOOL | tls1_prf (HCRYPTPROV hProv, HCRYPTPROV hSecret, CONST PCRYPT_DATA_BLOB pblobLabel, CONST PCRYPT_DATA_BLOB pblobSeed, PBYTE pbBuffer, DWORD dwBufferLen) |
| static BOOL | pad_data (CONST BYTE *abData, DWORD dwDataLen, BYTE *abBuffer, DWORD dwBufferLen, DWORD dwFlags) |
| static BOOL | unpad_data (CONST BYTE *abData, DWORD dwDataLen, BYTE *abBuffer, DWORD *dwBufferLen, DWORD dwFlags) |
| BOOL WINAPI | RSAENH_CPAcquireContext (HCRYPTPROV *phProv, LPSTR pszContainer, DWORD dwFlags, PVTableProvStruc pVTable) |
| BOOL WINAPI | RSAENH_CPDestroyKey (HCRYPTPROV hProv, HCRYPTKEY hKey) |
| BOOL WINAPI | RSAENH_CPDuplicateHash (HCRYPTPROV hUID, HCRYPTHASH hHash, DWORD *pdwReserved, DWORD dwFlags, HCRYPTHASH *phHash) |
| BOOL WINAPI | RSAENH_CPDuplicateKey (HCRYPTPROV hUID, HCRYPTKEY hKey, DWORD *pdwReserved, DWORD dwFlags, HCRYPTKEY *phKey) |
| BOOL WINAPI | RSAENH_CPDecrypt (HCRYPTPROV hProv, HCRYPTKEY hKey, HCRYPTHASH hHash, BOOL Final, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen) |
| static BOOL | crypt_export_simple (CRYPTKEY *pCryptKey, CRYPTKEY *pPubKey, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen) |
| static BOOL | crypt_export_public_key (CRYPTKEY *pCryptKey, BYTE *pbData, DWORD *pdwDataLen) |
| static BOOL | crypt_export_private_key (CRYPTKEY *pCryptKey, BOOL force, BYTE *pbData, DWORD *pdwDataLen) |
| static BOOL | crypt_export_plaintext_key (CRYPTKEY *pCryptKey, BYTE *pbData, DWORD *pdwDataLen) |
| BOOL WINAPI | RSAENH_CPExportKey (HCRYPTPROV hProv, HCRYPTKEY hKey, HCRYPTKEY hPubKey, DWORD dwBlobType, DWORD dwFlags, BYTE *pbData, DWORD *pdwDataLen) |
| static void | release_and_install_key (HCRYPTPROV hProv, HCRYPTKEY src, HCRYPTKEY *dest, DWORD fStoreKey) |
| static BOOL | import_private_key (HCRYPTPROV hProv, CONST BYTE *pbData, DWORD dwDataLen, DWORD dwFlags, BOOL fStoreKey, HCRYPTKEY *phKey) |
| static BOOL | import_public_key (HCRYPTPROV hProv, CONST BYTE *pbData, DWORD dwDataLen, DWORD dwFlags, BOOL fStoreKey, HCRYPTKEY *phKey) |
| static BOOL | import_symmetric_key (HCRYPTPROV hProv, CONST BYTE *pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags, HCRYPTKEY *phKey) |
| static BOOL | import_plaintext_key (HCRYPTPROV hProv, CONST BYTE *pbData, DWORD dwDataLen, DWORD dwFlags, HCRYPTKEY *phKey) |
| BOOL WINAPI | RSAENH_CPImportKey (HCRYPTPROV hProv, CONST BYTE *pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags, HCRYPTKEY *phKey) |
| BOOL WINAPI | RSAENH_CPGenKey (HCRYPTPROV hProv, ALG_ID Algid, DWORD dwFlags, HCRYPTKEY *phKey) |
| BOOL WINAPI | RSAENH_CPGenRandom (HCRYPTPROV hProv, DWORD dwLen, BYTE *pbBuffer) |
| BOOL WINAPI | RSAENH_CPSetKeyParam (HCRYPTPROV hProv, HCRYPTKEY hKey, DWORD dwParam, BYTE *pbData, DWORD dwFlags) |
| BOOL WINAPI | RSAENH_CPGetProvParam (HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData, DWORD *pdwDataLen, DWORD dwFlags) |
| BOOL WINAPI | RSAENH_CPDeriveKey (HCRYPTPROV hProv, ALG_ID Algid, HCRYPTHASH hBaseData, DWORD dwFlags, HCRYPTKEY *phKey) |
| BOOL WINAPI | RSAENH_CPGetUserKey (HCRYPTPROV hProv, DWORD dwKeySpec, HCRYPTKEY *phUserKey) |
| BOOL WINAPI | RSAENH_CPHashSessionKey (HCRYPTPROV hProv, HCRYPTHASH hHash, HCRYPTKEY hKey, DWORD dwFlags) |
| BOOL WINAPI | RSAENH_CPReleaseContext (HCRYPTPROV hProv, DWORD dwFlags) |
| BOOL WINAPI | RSAENH_CPSetProvParam (HCRYPTPROV hProv, DWORD dwParam, BYTE *pbData, DWORD dwFlags) |
| BOOL WINAPI | RSAENH_CPSignHash (HCRYPTPROV hProv, HCRYPTHASH hHash, DWORD dwKeySpec, LPCWSTR sDescription, DWORD dwFlags, BYTE *pbSignature, DWORD *pdwSigLen) |
| BOOL WINAPI | RSAENH_CPVerifySignature (HCRYPTPROV hProv, HCRYPTHASH hHash, CONST BYTE *pbSignature, DWORD dwSigLen, HCRYPTKEY hPubKey, LPCWSTR sDescription, DWORD dwFlags) |
| HRESULT WINAPI | DllRegisterServer (void) |
| HRESULT WINAPI | DllUnregisterServer (void) |
Variables |
| static HINSTANCE | instance |
| static const PROV_ENUMALGS_EX | aProvEnumAlgsEx [5][RSAENH_MAX_ENUMALGS+1] |
| static struct handle_table | handle_table |