ReactOS 0.4.17-dev-470-gf9e3448
bcrypt.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _BCRYPT_ALGORITHM_IDENTIFIER
 
struct  __BCRYPT_KEY_LENGTHS_STRUCT
 
struct  _BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
 
struct  _BCRYPT_KEY_BLOB
 
struct  _BCRYPT_ECCKEY_BLOB
 
struct  _BCRYPT_RSAKEY_BLOB
 
struct  _BCRYPT_PKCS1_PADDING_INFO
 
struct  _BCRYPT_PSS_PADDING_INFO
 
struct  _BCRYPT_OAEP_PADDING_INFO
 
struct  _BCRYPT_DSA_KEY_BLOB
 
struct  _BCRYPT_DSA_KEY_BLOB_V2
 
struct  _BCRYPT_DH_KEY_BLOB
 
struct  _BCRYPT_DH_PARAMETER_HEADER
 
struct  _CRYPT_INTERFACE_REG
 
struct  _CRYPT_IMAGE_REG
 
struct  _CRYPT_PROVIDER_REG
 
struct  _BCRYPT_KEY_DATA_BLOB_HEADER
 
struct  _BCryptBuffer
 
struct  _BCryptBufferDesc
 
struct  _CRYPT_CONTEXT_FUNCTIONS
 

Macros

#define WINAPI   __stdcall
 
#define IN
 
#define OUT
 
#define OPTIONAL
 
#define BCRYPT_ECDSA_PUBLIC_P256_MAGIC   0x31534345
 
#define BCRYPT_ECDSA_PRIVATE_P256_MAGIC   0x32534345
 
#define BCRYPT_ECDSA_PUBLIC_P384_MAGIC   0x33534345
 
#define BCRYPT_ECDSA_PRIVATE_P384_MAGIC   0x34534345
 
#define BCRYPT_ECDSA_PUBLIC_P521_MAGIC   0x35534345
 
#define BCRYPT_ECDSA_PRIVATE_P521_MAGIC   0x36534345
 
#define BCRYPT_ECDH_PUBLIC_P256_MAGIC   0x314b4345
 
#define BCRYPT_ECDH_PRIVATE_P256_MAGIC   0x324b4345
 
#define BCRYPT_ECDH_PUBLIC_P384_MAGIC   0x334b4345
 
#define BCRYPT_ECDH_PRIVATE_P384_MAGIC   0x344b4345
 
#define BCRYPT_ECDH_PUBLIC_P521_MAGIC   0x354b4345
 
#define BCRYPT_ECDH_PRIVATE_P521_MAGIC   0x364b4345
 
#define BCRYPT_CIPHER_OPERATION   0x00000001
 
#define BCRYPT_HASH_OPERATION   0x00000002
 
#define BCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION   0x00000004
 
#define BCRYPT_SECRET_AGREEMENT_OPERATION   0x00000008
 
#define BCRYPT_SIGNATURE_OPERATION   0x00000010
 
#define BCRYPT_RNG_OPERATION   0x00000020
 
#define BCRYPT_CIPHER_INTERFACE   0x00000001
 
#define BCRYPT_HASH_INTERFACE   0x00000002
 
#define BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE   0x00000003
 
#define BCRYPT_SECRET_AGREEMENT_INTERFACE   0x00000004
 
#define BCRYPT_SIGNATURE_INTERFACE   0x00000005
 
#define BCRYPT_RNG_INTERFACE   0x00000006
 
#define BCRYPT_KEY_DERIVATION_INTERFACE   0x00000007
 
#define BCRYPT_SUPPORTED_PAD_ROUTER   0x00000001
 
#define BCRYPT_SUPPORTED_PAD_PKCS1_ENC   0x00000002
 
#define BCRYPT_SUPPORTED_PAD_PKCS1_SIG   0x00000004
 
#define BCRYPT_SUPPORTED_PAD_OAEP   0x00000008
 
#define BCRYPT_SUPPORTED_PAD_PSS   0x00000010
 
#define BCRYPT_RSAPUBLIC_MAGIC   0x31415352
 
#define BCRYPT_RSAPRIVATE_MAGIC   0x32415352
 
#define BCRYPT_RSAFULLPRIVATE_MAGIC   0x33415352
 
#define BCRYPT_PAD_NONE   0x00000001
 
#define BCRYPT_PAD_PKCS1   0x00000002
 
#define BCRYPT_PAD_OAEP   0x00000004
 
#define BCRYPT_PAD_PSS   0x00000008
 
#define BCRYPT_PAD_PKCS1_OPTIONAL_HASH_OID   0x00000010
 
#define BCRYPT_DSA_PUBLIC_MAGIC   0x42505344
 
#define BCRYPT_DSA_PRIVATE_MAGIC   0x56505344
 
#define BCRYPT_DSA_PUBLIC_MAGIC_V2   0x32425044
 
#define BCRYPT_DSA_PRIVATE_MAGIC_V2   0x32565044
 
#define BCRYPT_DH_PUBLIC_MAGIC   0x42504844
 
#define BCRYPT_DH_PRIVATE_MAGIC   0x56504844
 
#define BCRYPT_DH_PARAMETERS_MAGIC   0x4d504844
 
#define BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO_VERSION   1
 
#define BCRYPT_AUTH_MODE_CHAIN_CALLS_FLAG   0x00000001
 
#define BCRYPT_AUTH_MODE_IN_PROGRESS_FLAG   0x00000002
 
#define KDF_HASH_ALGORITHM   0x00000000
 
#define KDF_SECRET_PREPEND   0x00000001
 
#define KDF_SECRET_APPEND   0x00000002
 
#define BCRYPTBUFFER_VERSION   0
 
#define BCRYPT_KEY_DATA_BLOB_MAGIC   0x4d42444b
 
#define BCRYPT_KEY_DATA_BLOB_VERSION1   1
 
#define BCRYPT_MD2_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000001)
 
#define BCRYPT_MD4_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000011)
 
#define BCRYPT_MD5_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000021)
 
#define BCRYPT_SHA1_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000031)
 
#define BCRYPT_SHA256_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000041)
 
#define BCRYPT_SHA384_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000051)
 
#define BCRYPT_SHA512_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000061)
 
#define BCRYPT_RC4_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000071)
 
#define BCRYPT_RNG_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000081)
 
#define BCRYPT_HMAC_MD5_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000091)
 
#define BCRYPT_HMAC_SHA1_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000000a1)
 
#define BCRYPT_HMAC_SHA256_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000000b1)
 
#define BCRYPT_HMAC_SHA384_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000000c1)
 
#define BCRYPT_HMAC_SHA512_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000000d1)
 
#define BCRYPT_RSA_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000000e1)
 
#define BCRYPT_ECDSA_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000000f1)
 
#define BCRYPT_AES_CMAC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000101)
 
#define BCRYPT_AES_GMAC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000111)
 
#define BCRYPT_HMAC_MD2_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000121)
 
#define BCRYPT_HMAC_MD4_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000131)
 
#define BCRYPT_3DES_CBC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000141)
 
#define BCRYPT_3DES_ECB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000151)
 
#define BCRYPT_3DES_CFB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000161)
 
#define BCRYPT_3DES_112_CBC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000171)
 
#define BCRYPT_3DES_112_ECB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000181)
 
#define BCRYPT_3DES_112_CFB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000191)
 
#define BCRYPT_AES_CBC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000001a1)
 
#define BCRYPT_AES_ECB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000001b1)
 
#define BCRYPT_AES_CFB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000001c1)
 
#define BCRYPT_AES_CCM_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000001d1)
 
#define BCRYPT_AES_GCM_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000001e1)
 
#define BCRYPT_DES_CBC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000001f1)
 
#define BCRYPT_DES_ECB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000201)
 
#define BCRYPT_DES_CFB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000211)
 
#define BCRYPT_DESX_CBC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000221)
 
#define BCRYPT_DESX_ECB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000231)
 
#define BCRYPT_DESX_CFB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000241)
 
#define BCRYPT_RC2_CBC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000251)
 
#define BCRYPT_RC2_ECB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000261)
 
#define BCRYPT_RC2_CFB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000271)
 
#define BCRYPT_DH_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000281)
 
#define BCRYPT_ECDH_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000291)
 
#define BCRYPT_ECDH_P256_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000002a1)
 
#define BCRYPT_ECDH_P384_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000002b1)
 
#define BCRYPT_ECDH_P521_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000002c1)
 
#define BCRYPT_DSA_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000002d1)
 
#define BCRYPT_ECDSA_P256_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000002e1)
 
#define BCRYPT_ECDSA_P384_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000002f1)
 
#define BCRYPT_ECDSA_P521_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000301)
 
#define BCRYPT_RSA_SIGN_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000311)
 
#define BCRYPT_CAPI_KDF_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000321)
 
#define BCRYPT_PBKDF2_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000331)
 
#define BCRYPT_SP800108_CTR_HMAC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000341)
 
#define BCRYPT_SP80056A_CONCAT_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000351)
 
#define BCRYPT_TLS1_1_KDF_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000361)
 
#define BCRYPT_TLS1_2_KDF_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000371)
 
#define BCRYPT_XTS_AES_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000381)
 
#define BCRYPT_HKDF_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000391)
 
#define BCRYPT_RNG_USE_ENTROPY_IN_BUFFER   0x00000001
 
#define BCRYPT_USE_SYSTEM_PREFERRED_RNG   0x00000002
 
#define BCRYPT_ALG_HANDLE_HMAC_FLAG   0x00000008
 
#define BCRYPT_BLOCK_PADDING   0x00000001
 
#define BCRYPT_HASH_REUSABLE_FLAG   0x00000020
 
#define CRYPT_LOCAL   0x00000001
 
#define CRYPT_DOMAIN   0x00000002
 

Typedefs

typedef NTSTATUSPNTSTATUS
 
typedef struct _BCRYPT_ALGORITHM_IDENTIFIER BCRYPT_ALGORITHM_IDENTIFIER
 
typedef struct __BCRYPT_KEY_LENGTHS_STRUCT BCRYPT_KEY_LENGTHS_STRUCT
 
typedef struct __BCRYPT_KEY_LENGTHS_STRUCT BCRYPT_AUTH_TAG_LENGTHS_STRUCT
 
typedef struct _BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
 
typedef struct _BCRYPT_AUTHENTICATED_CIPHER_MODE_INFOPBCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
 
typedef struct _BCRYPT_KEY_BLOB BCRYPT_KEY_BLOB
 
typedef struct _BCRYPT_ECCKEY_BLOB BCRYPT_ECCKEY_BLOB
 
typedef struct _BCRYPT_ECCKEY_BLOBPBCRYPT_ECCKEY_BLOB
 
typedef struct _BCRYPT_RSAKEY_BLOB BCRYPT_RSAKEY_BLOB
 
typedef struct _BCRYPT_PKCS1_PADDING_INFO BCRYPT_PKCS1_PADDING_INFO
 
typedef struct _BCRYPT_PSS_PADDING_INFO BCRYPT_PSS_PADDING_INFO
 
typedef struct _BCRYPT_OAEP_PADDING_INFO BCRYPT_OAEP_PADDING_INFO
 
typedef struct _BCRYPT_DSA_KEY_BLOB BCRYPT_DSA_KEY_BLOB
 
typedef struct _BCRYPT_DSA_KEY_BLOBPBCRYPT_DSA_KEY_BLOB
 
typedef struct _BCRYPT_DSA_KEY_BLOB_V2 BCRYPT_DSA_KEY_BLOB_V2
 
typedef struct _BCRYPT_DSA_KEY_BLOB_V2PBCRYPT_DSA_KEY_BLOB_V2
 
typedef struct _BCRYPT_DH_KEY_BLOB BCRYPT_DH_KEY_BLOB
 
typedef struct _BCRYPT_DH_KEY_BLOBPBCRYPT_DH_KEY_BLOB
 
typedef struct _BCRYPT_DH_PARAMETER_HEADER BCRYPT_DH_PARAMETER_HEADER
 
typedef struct _CRYPT_INTERFACE_REG CRYPT_INTERFACE_REG
 
typedef struct _CRYPT_INTERFACE_REGPCRYPT_INTERFACE_REG
 
typedef struct _CRYPT_IMAGE_REG CRYPT_IMAGE_REG
 
typedef struct _CRYPT_IMAGE_REGPCRYPT_IMAGE_REG
 
typedef struct _CRYPT_PROVIDER_REG CRYPT_PROVIDER_REG
 
typedef struct _CRYPT_PROVIDER_REGPCRYPT_PROVIDER_REG
 
typedef struct _BCRYPT_KEY_DATA_BLOB_HEADER BCRYPT_KEY_DATA_BLOB_HEADER
 
typedef struct _BCRYPT_KEY_DATA_BLOB_HEADERPBCRYPT_KEY_DATA_BLOB_HEADER
 
typedef struct _BCryptBuffer BCryptBuffer
 
typedef struct _BCryptBufferPBCryptBuffer
 
typedef struct _BCryptBufferDesc BCryptBufferDesc
 
typedef struct _BCryptBufferDescPBCryptBufferDesc
 
typedef PVOID BCRYPT_ALG_HANDLE
 
typedef PVOID BCRYPT_KEY_HANDLE
 
typedef PVOID BCRYPT_HANDLE
 
typedef PVOID BCRYPT_HASH_HANDLE
 
typedef PVOID BCRYPT_SECRET_HANDLE
 
typedef struct _CRYPT_CONTEXT_FUNCTIONS CRYPT_CONTEXT_FUNCTIONS
 
typedef struct _CRYPT_CONTEXT_FUNCTIONSPCRYPT_CONTEXT_FUNCTIONS
 

Enumerations

enum  HASHALGORITHM_ENUM { DSA_HASH_ALGORITHM_SHA1 , DSA_HASH_ALGORITHM_SHA256 , DSA_HASH_ALGORITHM_SHA512 }
 
enum  DSAFIPSVERSION_ENUM { DSA_FIPS186_2 , DSA_FIPS186_3 }
 

Functions

typedef _Return_type_success_ (return >=0) LONG NTSTATUS
 
NTSTATUS WINAPI BCryptAddContextFunction (ULONG, LPCWSTR, ULONG, LPCWSTR, ULONG)
 
NTSTATUS WINAPI BCryptCloseAlgorithmProvider (BCRYPT_ALG_HANDLE, ULONG)
 
NTSTATUS WINAPI BCryptCreateHash (BCRYPT_ALG_HANDLE, BCRYPT_HASH_HANDLE *, PUCHAR, ULONG, PUCHAR, ULONG, ULONG)
 
NTSTATUS WINAPI BCryptDecrypt (BCRYPT_KEY_HANDLE, PUCHAR, ULONG, VOID *, PUCHAR, ULONG, PUCHAR, ULONG, ULONG *, ULONG)
 
NTSTATUS WINAPI BCryptDeriveKey (BCRYPT_SECRET_HANDLE, LPCWSTR, BCryptBufferDesc *, PUCHAR, ULONG, ULONG *, ULONG)
 
NTSTATUS WINAPI BCryptDeriveKeyCapi (BCRYPT_HASH_HANDLE, BCRYPT_ALG_HANDLE, PUCHAR, ULONG, ULONG)
 
NTSTATUS WINAPI BCryptDeriveKeyPBKDF2 (BCRYPT_ALG_HANDLE, PUCHAR, ULONG, PUCHAR, ULONG, ULONGLONG, PUCHAR, ULONG, ULONG)
 
NTSTATUS WINAPI BCryptDestroyHash (BCRYPT_HASH_HANDLE)
 
NTSTATUS WINAPI BCryptDestroyKey (BCRYPT_KEY_HANDLE)
 
NTSTATUS WINAPI BCryptDestroySecret (BCRYPT_SECRET_HANDLE)
 
NTSTATUS WINAPI BCryptDuplicateHash (BCRYPT_HASH_HANDLE, BCRYPT_HASH_HANDLE *, UCHAR *, ULONG, ULONG)
 
NTSTATUS WINAPI BCryptDuplicateKey (BCRYPT_KEY_HANDLE, BCRYPT_KEY_HANDLE *, PUCHAR, ULONG, ULONG)
 
NTSTATUS WINAPI BCryptEncrypt (BCRYPT_KEY_HANDLE, PUCHAR, ULONG, VOID *, PUCHAR, ULONG, PUCHAR, ULONG, ULONG *, ULONG)
 
NTSTATUS WINAPI BCryptEnumAlgorithms (ULONG, ULONG *, BCRYPT_ALGORITHM_IDENTIFIER **, ULONG)
 
NTSTATUS WINAPI BCryptEnumContextFunctions (ULONG, const WCHAR *, ULONG, ULONG *, CRYPT_CONTEXT_FUNCTIONS **)
 
NTSTATUS WINAPI BCryptExportKey (BCRYPT_KEY_HANDLE, BCRYPT_KEY_HANDLE, LPCWSTR, PUCHAR, ULONG, ULONG *, ULONG)
 
NTSTATUS WINAPI BCryptFinalizeKeyPair (BCRYPT_KEY_HANDLE, ULONG)
 
NTSTATUS WINAPI BCryptFinishHash (BCRYPT_HASH_HANDLE, PUCHAR, ULONG, ULONG)
 
void WINAPI BCryptFreeBuffer (void *)
 
NTSTATUS WINAPI BCryptGenRandom (BCRYPT_ALG_HANDLE, PUCHAR, ULONG, ULONG)
 
NTSTATUS WINAPI BCryptGenerateKeyPair (BCRYPT_ALG_HANDLE, BCRYPT_KEY_HANDLE *, ULONG, ULONG)
 
NTSTATUS WINAPI BCryptGenerateSymmetricKey (BCRYPT_ALG_HANDLE, BCRYPT_KEY_HANDLE *, PUCHAR, ULONG, PUCHAR, ULONG, ULONG)
 
NTSTATUS WINAPI BCryptGetFipsAlgorithmMode (BOOLEAN *)
 
NTSTATUS WINAPI BCryptGetProperty (BCRYPT_HANDLE, LPCWSTR, PUCHAR, ULONG, ULONG *, ULONG)
 
NTSTATUS WINAPI BCryptHash (BCRYPT_ALG_HANDLE, PUCHAR, ULONG, PUCHAR, ULONG, PUCHAR, ULONG)
 
NTSTATUS WINAPI BCryptHashData (BCRYPT_HASH_HANDLE, PUCHAR, ULONG, ULONG)
 
NTSTATUS WINAPI BCryptImportKey (BCRYPT_ALG_HANDLE, BCRYPT_KEY_HANDLE, LPCWSTR, BCRYPT_KEY_HANDLE *, PUCHAR, ULONG, PUCHAR, ULONG, ULONG)
 
NTSTATUS WINAPI BCryptImportKeyPair (BCRYPT_ALG_HANDLE, BCRYPT_KEY_HANDLE, LPCWSTR, BCRYPT_KEY_HANDLE *, UCHAR *, ULONG, ULONG)
 
NTSTATUS WINAPI BCryptOpenAlgorithmProvider (BCRYPT_ALG_HANDLE *, LPCWSTR, LPCWSTR, ULONG)
 
NTSTATUS WINAPI BCryptRemoveContextFunction (ULONG, LPCWSTR, ULONG, LPCWSTR)
 
NTSTATUS WINAPI BCryptSecretAgreement (BCRYPT_KEY_HANDLE, BCRYPT_KEY_HANDLE, BCRYPT_SECRET_HANDLE *, ULONG)
 
NTSTATUS WINAPI BCryptSetProperty (BCRYPT_HANDLE, LPCWSTR, PUCHAR, ULONG, ULONG)
 
NTSTATUS WINAPI BCryptSignHash (BCRYPT_KEY_HANDLE, void *, PUCHAR, ULONG, PUCHAR, ULONG, ULONG *, ULONG)
 
NTSTATUS WINAPI BCryptVerifySignature (BCRYPT_KEY_HANDLE, void *, UCHAR *, ULONG, UCHAR *, ULONG, ULONG)
 

Variables

static const WCHAR BCRYPT_ALGORITHM_NAME [] = {'A','l','g','o','r','i','t','h','m','N','a','m','e',0}
 
static const WCHAR BCRYPT_AUTH_TAG_LENGTH [] = {'A','u','t','h','T','a','g','L','e','n','g','t','h',0}
 
static const WCHAR BCRYPT_BLOCK_LENGTH [] = {'B','l','o','c','k','L','e','n','g','t','h',0}
 
static const WCHAR BCRYPT_BLOCK_SIZE_LIST [] = {'B','l','o','c','k','S','i','z','e','L','i','s','t',0}
 
static const WCHAR BCRYPT_CHAINING_MODE [] = {'C','h','a','i','n','i','n','g','M','o','d','e',0}
 
static const WCHAR BCRYPT_EFFECTIVE_KEY_LENGTH [] = {'E','f','f','e','c','t','i','v','e','K','e','y','L','e','n','g','t','h',0}
 
static const WCHAR BCRYPT_HASH_BLOCK_LENGTH [] = {'H','a','s','h','B','l','o','c','k','L','e','n','g','t','h',0}
 
static const WCHAR BCRYPT_HASH_LENGTH [] = {'H','a','s','h','D','i','g','e','s','t','L','e','n','g','t','h',0}
 
static const WCHAR BCRYPT_HASH_OID_LIST [] = {'H','a','s','h','O','I','D','L','i','s','t',0}
 
static const WCHAR BCRYPT_KEY_LENGTH [] = {'K','e','y','L','e','n','g','t','h',0}
 
static const WCHAR BCRYPT_KEY_LENGTHS [] = {'K','e','y','L','e','n','g','t','h','s',0}
 
static const WCHAR BCRYPT_KEY_OBJECT_LENGTH [] = {'K','e','y','O','b','j','e','c','t','L','e','n','g','t','h',0}
 
static const WCHAR BCRYPT_KEY_STRENGTH [] = {'K','e','y','S','t','r','e','n','g','t','h',0}
 
static const WCHAR BCRYPT_OBJECT_LENGTH [] = {'O','b','j','e','c','t','L','e','n','g','t','h',0}
 
static const WCHAR BCRYPT_PADDING_SCHEMES [] = {'P','a','d','d','i','n','g','S','c','h','e','m','e','s',0}
 
static const WCHAR BCRYPT_PROVIDER_HANDLE [] = {'P','r','o','v','i','d','e','r','H','a','n','d','l','e',0}
 
static const WCHAR BCRYPT_SIGNATURE_LENGTH [] = {'S','i','g','n','a','t','u','r','e','L','e','n','g','t','h',0}
 
static const WCHAR BCRYPT_PUBLIC_KEY_LENGTH [] = {'P','u','b','l','i','c','K','e','y','L','e','n','g','t','h',0}
 
static const WCHAR BCRYPT_OPAQUE_KEY_BLOB [] = {'O','p','a','q','u','e','K','e','y','B','l','o','b',0}
 
static const WCHAR BCRYPT_KEY_DATA_BLOB [] = {'K','e','y','D','a','t','a','B','l','o','b',0}
 
static const WCHAR BCRYPT_AES_WRAP_KEY_BLOB [] = {'R','f','c','3','5','6','5','K','e','y','W','r','a','p','B','l','o','b',0}
 
static const WCHAR BCRYPT_ECCPUBLIC_BLOB [] = {'E','C','C','P','U','B','L','I','C','B','L','O','B',0}
 
static const WCHAR BCRYPT_ECCPRIVATE_BLOB [] = {'E','C','C','P','R','I','V','A','T','E','B','L','O','B',0}
 
static const WCHAR BCRYPT_RSAPUBLIC_BLOB [] = {'R','S','A','P','U','B','L','I','C','B','L','O','B',0}
 
static const WCHAR BCRYPT_RSAPRIVATE_BLOB [] = {'R','S','A','P','R','I','V','A','T','E','B','L','O','B',0}
 
static const WCHAR BCRYPT_RSAFULLPRIVATE_BLOB [] = {'R','S','A','F','U','L','L','P','R','I','V','A','T','E','B','L','O','B',0}
 
static const WCHAR BCRYPT_DSA_PUBLIC_BLOB [] = {'D','S','A','P','U','B','L','I','C','B','L','O','B',0}
 
static const WCHAR BCRYPT_DSA_PRIVATE_BLOB [] = {'D','S','A','P','R','I','V','A','T','E','B','L','O','B',0}
 
static const WCHAR BCRYPT_PUBLIC_KEY_BLOB [] = {'P','U','B','L','I','C','B','L','O','B',0}
 
static const WCHAR BCRYPT_PRIVATE_KEY_BLOB [] = {'P','R','I','V','A','T','E','B','L','O','B',0}
 
static const WCHAR BCRYPT_DH_PUBLIC_BLOB [] = {'D','H','P','U','B','L','I','C','B','L','O','B',0}
 
static const WCHAR BCRYPT_DH_PRIVATE_BLOB [] = {'D','H','P','R','I','V','A','T','E','B','L','O','B',0}
 
static const WCHAR LEGACY_DSA_PUBLIC_BLOB [] = {'C','A','P','I','D','S','A','P','U','B','L','I','C','B','L','O','B',0}
 
static const WCHAR LEGACY_DSA_PRIVATE_BLOB [] = {'C','A','P','I','D','S','A','P','R','I','V','A','T','E','B','L','O','B',0}
 
static const WCHAR LEGACY_DSA_V2_PUBLIC_BLOB [] = {'V','2','C','A','P','I','D','S','A','P','U','B','L','I','C','B','L','O','B',0}
 
static const WCHAR LEGACY_DSA_V2_PRIVATE_BLOB [] = {'V','2','C','A','P','I','D','S','A','P','R','I','V','A','T','E','B','L','O','B',0}
 
static const WCHAR LEGACY_RSAPUBLIC_BLOB [] = {'C','A','P','I','P','U','B','L','I','C','B','L','O','B',0}
 
static const WCHAR LEGACY_RSAPRIVATE_BLOB [] = {'C','A','P','I','P','R','I','V','A','T','E','B','L','O','B',0}
 
static const WCHAR MS_PRIMITIVE_PROVIDER []
 
static const WCHAR MS_PLATFORM_CRYPTO_PROVIDER []
 
static const WCHAR BCRYPT_3DES_ALGORITHM [] = {'3','D','E','S',0}
 
static const WCHAR BCRYPT_AES_ALGORITHM [] = {'A','E','S',0}
 
static const WCHAR BCRYPT_DES_ALGORITHM [] = {'D','E','S',0}
 
static const WCHAR BCRYPT_DH_ALGORITHM [] = {'D','H',0}
 
static const WCHAR BCRYPT_DSA_ALGORITHM [] = {'D','S','A',0}
 
static const WCHAR BCRYPT_ECDH_P256_ALGORITHM [] = {'E','C','D','H','_','P','2','5','6',0}
 
static const WCHAR BCRYPT_ECDH_P384_ALGORITHM [] = {'E','C','D','H','_','P','3','8','4',0}
 
static const WCHAR BCRYPT_ECDSA_P256_ALGORITHM [] = {'E','C','D','S','A','_','P','2','5','6',0}
 
static const WCHAR BCRYPT_ECDSA_P384_ALGORITHM [] = {'E','C','D','S','A','_','P','3','8','4',0}
 
static const WCHAR BCRYPT_ECDSA_P521_ALGORITHM [] = {'E','C','D','S','A','_','P','5','2','1',0}
 
static const WCHAR BCRYPT_MD2_ALGORITHM [] = {'M','D','2',0}
 
static const WCHAR BCRYPT_MD4_ALGORITHM [] = {'M','D','4',0}
 
static const WCHAR BCRYPT_MD5_ALGORITHM [] = {'M','D','5',0}
 
static const WCHAR BCRYPT_RC2_ALGORITHM [] = {'R','C','2',0}
 
static const WCHAR BCRYPT_RC4_ALGORITHM [] = {'R','C','4',0}
 
static const WCHAR BCRYPT_RNG_ALGORITHM [] = {'R','N','G',0}
 
static const WCHAR BCRYPT_RSA_ALGORITHM [] = {'R','S','A',0}
 
static const WCHAR BCRYPT_RSA_SIGN_ALGORITHM [] = {'R','S','A','_','S','I','G','N',0}
 
static const WCHAR BCRYPT_SHA1_ALGORITHM [] = {'S','H','A','1',0}
 
static const WCHAR BCRYPT_SHA256_ALGORITHM [] = {'S','H','A','2','5','6',0}
 
static const WCHAR BCRYPT_SHA384_ALGORITHM [] = {'S','H','A','3','8','4',0}
 
static const WCHAR BCRYPT_SHA512_ALGORITHM [] = {'S','H','A','5','1','2',0}
 
static const WCHAR BCRYPT_CHAIN_MODE_NA [] = {'C','h','a','i','n','i','n','g','M','o','d','e','N','/','A',0}
 
static const WCHAR BCRYPT_CHAIN_MODE_CBC [] = {'C','h','a','i','n','i','n','g','M','o','d','e','C','B','C',0}
 
static const WCHAR BCRYPT_CHAIN_MODE_ECB [] = {'C','h','a','i','n','i','n','g','M','o','d','e','E','C','B',0}
 
static const WCHAR BCRYPT_CHAIN_MODE_CFB [] = {'C','h','a','i','n','i','n','g','M','o','d','e','C','F','B',0}
 
static const WCHAR BCRYPT_CHAIN_MODE_CCM [] = {'C','h','a','i','n','i','n','g','M','o','d','e','C','C','M',0}
 
static const WCHAR BCRYPT_CHAIN_MODE_GCM [] = {'C','h','a','i','n','i','n','g','M','o','d','e','G','C','M',0}
 
static const WCHAR BCRYPT_KDF_HASH [] = {'H','A','S','H',0}
 
static const WCHAR BCRYPT_KDF_HMAC [] = {'H','M','A','C',0}
 
static const WCHAR BCRYPT_KDF_TLS_PRF [] = {'T','L','S','_','P','R','F',0}
 
static const WCHAR BCRYPT_KDF_SP80056A_CONCAT [] = {'S','P','8','0','0','_','5','6','A','_','C','O','N','C','A','T',0}
 
static const WCHAR BCRYPT_KDF_RAW_SECRET [] = {'T','R','U','N','C','A','T','E',0}
 
static const WCHAR BCRYPT_DH_PARAMETERS [] = {'D','H','P','a','r','a','m','e','t','e','r','s',0}
 

Macro Definition Documentation

◆ BCRYPT_3DES_112_CBC_ALG_HANDLE

#define BCRYPT_3DES_112_CBC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000171)

Definition at line 469 of file bcrypt.h.

◆ BCRYPT_3DES_112_CFB_ALG_HANDLE

#define BCRYPT_3DES_112_CFB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000191)

Definition at line 471 of file bcrypt.h.

◆ BCRYPT_3DES_112_ECB_ALG_HANDLE

#define BCRYPT_3DES_112_ECB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000181)

Definition at line 470 of file bcrypt.h.

◆ BCRYPT_3DES_CBC_ALG_HANDLE

#define BCRYPT_3DES_CBC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000141)

Definition at line 466 of file bcrypt.h.

◆ BCRYPT_3DES_CFB_ALG_HANDLE

#define BCRYPT_3DES_CFB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000161)

Definition at line 468 of file bcrypt.h.

◆ BCRYPT_3DES_ECB_ALG_HANDLE

#define BCRYPT_3DES_ECB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000151)

Definition at line 467 of file bcrypt.h.

◆ BCRYPT_AES_CBC_ALG_HANDLE

#define BCRYPT_AES_CBC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000001a1)

Definition at line 472 of file bcrypt.h.

◆ BCRYPT_AES_CCM_ALG_HANDLE

#define BCRYPT_AES_CCM_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000001d1)

Definition at line 475 of file bcrypt.h.

◆ BCRYPT_AES_CFB_ALG_HANDLE

#define BCRYPT_AES_CFB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000001c1)

Definition at line 474 of file bcrypt.h.

◆ BCRYPT_AES_CMAC_ALG_HANDLE

#define BCRYPT_AES_CMAC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000101)

Definition at line 462 of file bcrypt.h.

◆ BCRYPT_AES_ECB_ALG_HANDLE

#define BCRYPT_AES_ECB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000001b1)

Definition at line 473 of file bcrypt.h.

◆ BCRYPT_AES_GCM_ALG_HANDLE

#define BCRYPT_AES_GCM_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000001e1)

Definition at line 476 of file bcrypt.h.

◆ BCRYPT_AES_GMAC_ALG_HANDLE

#define BCRYPT_AES_GMAC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000111)

Definition at line 463 of file bcrypt.h.

◆ BCRYPT_ALG_HANDLE_HMAC_FLAG

#define BCRYPT_ALG_HANDLE_HMAC_FLAG   0x00000008

Definition at line 510 of file bcrypt.h.

◆ BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE

#define BCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE   0x00000003

Definition at line 232 of file bcrypt.h.

◆ BCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION

#define BCRYPT_ASYMMETRIC_ENCRYPTION_OPERATION   0x00000004

Definition at line 225 of file bcrypt.h.

◆ BCRYPT_AUTH_MODE_CHAIN_CALLS_FLAG

#define BCRYPT_AUTH_MODE_CHAIN_CALLS_FLAG   0x00000001

Definition at line 383 of file bcrypt.h.

◆ BCRYPT_AUTH_MODE_IN_PROGRESS_FLAG

#define BCRYPT_AUTH_MODE_IN_PROGRESS_FLAG   0x00000002

Definition at line 384 of file bcrypt.h.

◆ BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO_VERSION

#define BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO_VERSION   1

Definition at line 381 of file bcrypt.h.

◆ BCRYPT_BLOCK_PADDING

#define BCRYPT_BLOCK_PADDING   0x00000001

Definition at line 513 of file bcrypt.h.

◆ BCRYPT_CAPI_KDF_ALG_HANDLE

#define BCRYPT_CAPI_KDF_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000321)

Definition at line 496 of file bcrypt.h.

◆ BCRYPT_CIPHER_INTERFACE

#define BCRYPT_CIPHER_INTERFACE   0x00000001

Definition at line 230 of file bcrypt.h.

◆ BCRYPT_CIPHER_OPERATION

#define BCRYPT_CIPHER_OPERATION   0x00000001

Definition at line 223 of file bcrypt.h.

◆ BCRYPT_DES_CBC_ALG_HANDLE

#define BCRYPT_DES_CBC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000001f1)

Definition at line 477 of file bcrypt.h.

◆ BCRYPT_DES_CFB_ALG_HANDLE

#define BCRYPT_DES_CFB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000211)

Definition at line 479 of file bcrypt.h.

◆ BCRYPT_DES_ECB_ALG_HANDLE

#define BCRYPT_DES_ECB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000201)

Definition at line 478 of file bcrypt.h.

◆ BCRYPT_DESX_CBC_ALG_HANDLE

#define BCRYPT_DESX_CBC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000221)

Definition at line 480 of file bcrypt.h.

◆ BCRYPT_DESX_CFB_ALG_HANDLE

#define BCRYPT_DESX_CFB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000241)

Definition at line 482 of file bcrypt.h.

◆ BCRYPT_DESX_ECB_ALG_HANDLE

#define BCRYPT_DESX_ECB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000231)

Definition at line 481 of file bcrypt.h.

◆ BCRYPT_DH_ALG_HANDLE

#define BCRYPT_DH_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000281)

Definition at line 486 of file bcrypt.h.

◆ BCRYPT_DH_PARAMETERS_MAGIC

#define BCRYPT_DH_PARAMETERS_MAGIC   0x4d504844

Definition at line 372 of file bcrypt.h.

◆ BCRYPT_DH_PRIVATE_MAGIC

#define BCRYPT_DH_PRIVATE_MAGIC   0x56504844

Definition at line 364 of file bcrypt.h.

◆ BCRYPT_DH_PUBLIC_MAGIC

#define BCRYPT_DH_PUBLIC_MAGIC   0x42504844

Definition at line 363 of file bcrypt.h.

◆ BCRYPT_DSA_ALG_HANDLE

#define BCRYPT_DSA_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000002d1)

Definition at line 491 of file bcrypt.h.

◆ BCRYPT_DSA_PRIVATE_MAGIC

#define BCRYPT_DSA_PRIVATE_MAGIC   0x56505344

Definition at line 325 of file bcrypt.h.

◆ BCRYPT_DSA_PRIVATE_MAGIC_V2

#define BCRYPT_DSA_PRIVATE_MAGIC_V2   0x32565044

Definition at line 337 of file bcrypt.h.

◆ BCRYPT_DSA_PUBLIC_MAGIC

#define BCRYPT_DSA_PUBLIC_MAGIC   0x42505344

Definition at line 324 of file bcrypt.h.

◆ BCRYPT_DSA_PUBLIC_MAGIC_V2

#define BCRYPT_DSA_PUBLIC_MAGIC_V2   0x32425044

Definition at line 336 of file bcrypt.h.

◆ BCRYPT_ECDH_ALG_HANDLE

#define BCRYPT_ECDH_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000291)

Definition at line 487 of file bcrypt.h.

◆ BCRYPT_ECDH_P256_ALG_HANDLE

#define BCRYPT_ECDH_P256_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000002a1)

Definition at line 488 of file bcrypt.h.

◆ BCRYPT_ECDH_P384_ALG_HANDLE

#define BCRYPT_ECDH_P384_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000002b1)

Definition at line 489 of file bcrypt.h.

◆ BCRYPT_ECDH_P521_ALG_HANDLE

#define BCRYPT_ECDH_P521_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000002c1)

Definition at line 490 of file bcrypt.h.

◆ BCRYPT_ECDH_PRIVATE_P256_MAGIC

#define BCRYPT_ECDH_PRIVATE_P256_MAGIC   0x324b4345

Definition at line 217 of file bcrypt.h.

◆ BCRYPT_ECDH_PRIVATE_P384_MAGIC

#define BCRYPT_ECDH_PRIVATE_P384_MAGIC   0x344b4345

Definition at line 219 of file bcrypt.h.

◆ BCRYPT_ECDH_PRIVATE_P521_MAGIC

#define BCRYPT_ECDH_PRIVATE_P521_MAGIC   0x364b4345

Definition at line 221 of file bcrypt.h.

◆ BCRYPT_ECDH_PUBLIC_P256_MAGIC

#define BCRYPT_ECDH_PUBLIC_P256_MAGIC   0x314b4345

Definition at line 216 of file bcrypt.h.

◆ BCRYPT_ECDH_PUBLIC_P384_MAGIC

#define BCRYPT_ECDH_PUBLIC_P384_MAGIC   0x334b4345

Definition at line 218 of file bcrypt.h.

◆ BCRYPT_ECDH_PUBLIC_P521_MAGIC

#define BCRYPT_ECDH_PUBLIC_P521_MAGIC   0x354b4345

Definition at line 220 of file bcrypt.h.

◆ BCRYPT_ECDSA_ALG_HANDLE

#define BCRYPT_ECDSA_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000000f1)

Definition at line 461 of file bcrypt.h.

◆ BCRYPT_ECDSA_P256_ALG_HANDLE

#define BCRYPT_ECDSA_P256_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000002e1)

Definition at line 492 of file bcrypt.h.

◆ BCRYPT_ECDSA_P384_ALG_HANDLE

#define BCRYPT_ECDSA_P384_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000002f1)

Definition at line 493 of file bcrypt.h.

◆ BCRYPT_ECDSA_P521_ALG_HANDLE

#define BCRYPT_ECDSA_P521_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000301)

Definition at line 494 of file bcrypt.h.

◆ BCRYPT_ECDSA_PRIVATE_P256_MAGIC

#define BCRYPT_ECDSA_PRIVATE_P256_MAGIC   0x32534345

Definition at line 210 of file bcrypt.h.

◆ BCRYPT_ECDSA_PRIVATE_P384_MAGIC

#define BCRYPT_ECDSA_PRIVATE_P384_MAGIC   0x34534345

Definition at line 212 of file bcrypt.h.

◆ BCRYPT_ECDSA_PRIVATE_P521_MAGIC

#define BCRYPT_ECDSA_PRIVATE_P521_MAGIC   0x36534345

Definition at line 214 of file bcrypt.h.

◆ BCRYPT_ECDSA_PUBLIC_P256_MAGIC

#define BCRYPT_ECDSA_PUBLIC_P256_MAGIC   0x31534345

Definition at line 209 of file bcrypt.h.

◆ BCRYPT_ECDSA_PUBLIC_P384_MAGIC

#define BCRYPT_ECDSA_PUBLIC_P384_MAGIC   0x33534345

Definition at line 211 of file bcrypt.h.

◆ BCRYPT_ECDSA_PUBLIC_P521_MAGIC

#define BCRYPT_ECDSA_PUBLIC_P521_MAGIC   0x35534345

Definition at line 213 of file bcrypt.h.

◆ BCRYPT_HASH_INTERFACE

#define BCRYPT_HASH_INTERFACE   0x00000002

Definition at line 231 of file bcrypt.h.

◆ BCRYPT_HASH_OPERATION

#define BCRYPT_HASH_OPERATION   0x00000002

Definition at line 224 of file bcrypt.h.

◆ BCRYPT_HASH_REUSABLE_FLAG

#define BCRYPT_HASH_REUSABLE_FLAG   0x00000020

Definition at line 516 of file bcrypt.h.

◆ BCRYPT_HKDF_ALG_HANDLE

#define BCRYPT_HKDF_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000391)

Definition at line 503 of file bcrypt.h.

◆ BCRYPT_HMAC_MD2_ALG_HANDLE

#define BCRYPT_HMAC_MD2_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000121)

Definition at line 464 of file bcrypt.h.

◆ BCRYPT_HMAC_MD4_ALG_HANDLE

#define BCRYPT_HMAC_MD4_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000131)

Definition at line 465 of file bcrypt.h.

◆ BCRYPT_HMAC_MD5_ALG_HANDLE

#define BCRYPT_HMAC_MD5_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000091)

Definition at line 455 of file bcrypt.h.

◆ BCRYPT_HMAC_SHA1_ALG_HANDLE

#define BCRYPT_HMAC_SHA1_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000000a1)

Definition at line 456 of file bcrypt.h.

◆ BCRYPT_HMAC_SHA256_ALG_HANDLE

#define BCRYPT_HMAC_SHA256_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000000b1)

Definition at line 457 of file bcrypt.h.

◆ BCRYPT_HMAC_SHA384_ALG_HANDLE

#define BCRYPT_HMAC_SHA384_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000000c1)

Definition at line 458 of file bcrypt.h.

◆ BCRYPT_HMAC_SHA512_ALG_HANDLE

#define BCRYPT_HMAC_SHA512_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000000d1)

Definition at line 459 of file bcrypt.h.

◆ BCRYPT_KEY_DATA_BLOB_MAGIC

#define BCRYPT_KEY_DATA_BLOB_MAGIC   0x4d42444b

Definition at line 436 of file bcrypt.h.

◆ BCRYPT_KEY_DATA_BLOB_VERSION1

#define BCRYPT_KEY_DATA_BLOB_VERSION1   1

Definition at line 437 of file bcrypt.h.

◆ BCRYPT_KEY_DERIVATION_INTERFACE

#define BCRYPT_KEY_DERIVATION_INTERFACE   0x00000007

Definition at line 236 of file bcrypt.h.

◆ BCRYPT_MD2_ALG_HANDLE

#define BCRYPT_MD2_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000001)

Definition at line 446 of file bcrypt.h.

◆ BCRYPT_MD4_ALG_HANDLE

#define BCRYPT_MD4_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000011)

Definition at line 447 of file bcrypt.h.

◆ BCRYPT_MD5_ALG_HANDLE

#define BCRYPT_MD5_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000021)

Definition at line 448 of file bcrypt.h.

◆ BCRYPT_PAD_NONE

#define BCRYPT_PAD_NONE   0x00000001

Definition at line 318 of file bcrypt.h.

◆ BCRYPT_PAD_OAEP

#define BCRYPT_PAD_OAEP   0x00000004

Definition at line 320 of file bcrypt.h.

◆ BCRYPT_PAD_PKCS1

#define BCRYPT_PAD_PKCS1   0x00000002

Definition at line 319 of file bcrypt.h.

◆ BCRYPT_PAD_PKCS1_OPTIONAL_HASH_OID

#define BCRYPT_PAD_PKCS1_OPTIONAL_HASH_OID   0x00000010

Definition at line 322 of file bcrypt.h.

◆ BCRYPT_PAD_PSS

#define BCRYPT_PAD_PSS   0x00000008

Definition at line 321 of file bcrypt.h.

◆ BCRYPT_PBKDF2_ALG_HANDLE

#define BCRYPT_PBKDF2_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000331)

Definition at line 497 of file bcrypt.h.

◆ BCRYPT_RC2_CBC_ALG_HANDLE

#define BCRYPT_RC2_CBC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000251)

Definition at line 483 of file bcrypt.h.

◆ BCRYPT_RC2_CFB_ALG_HANDLE

#define BCRYPT_RC2_CFB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000271)

Definition at line 485 of file bcrypt.h.

◆ BCRYPT_RC2_ECB_ALG_HANDLE

#define BCRYPT_RC2_ECB_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000261)

Definition at line 484 of file bcrypt.h.

◆ BCRYPT_RC4_ALG_HANDLE

#define BCRYPT_RC4_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000071)

Definition at line 453 of file bcrypt.h.

◆ BCRYPT_RNG_ALG_HANDLE

#define BCRYPT_RNG_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000081)

Definition at line 454 of file bcrypt.h.

◆ BCRYPT_RNG_INTERFACE

#define BCRYPT_RNG_INTERFACE   0x00000006

Definition at line 235 of file bcrypt.h.

◆ BCRYPT_RNG_OPERATION

#define BCRYPT_RNG_OPERATION   0x00000020

Definition at line 228 of file bcrypt.h.

◆ BCRYPT_RNG_USE_ENTROPY_IN_BUFFER

#define BCRYPT_RNG_USE_ENTROPY_IN_BUFFER   0x00000001

Definition at line 506 of file bcrypt.h.

◆ BCRYPT_RSA_ALG_HANDLE

#define BCRYPT_RSA_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x000000e1)

Definition at line 460 of file bcrypt.h.

◆ BCRYPT_RSA_SIGN_ALG_HANDLE

#define BCRYPT_RSA_SIGN_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000311)

Definition at line 495 of file bcrypt.h.

◆ BCRYPT_RSAFULLPRIVATE_MAGIC

#define BCRYPT_RSAFULLPRIVATE_MAGIC   0x33415352

Definition at line 288 of file bcrypt.h.

◆ BCRYPT_RSAPRIVATE_MAGIC

#define BCRYPT_RSAPRIVATE_MAGIC   0x32415352

Definition at line 287 of file bcrypt.h.

◆ BCRYPT_RSAPUBLIC_MAGIC

#define BCRYPT_RSAPUBLIC_MAGIC   0x31415352

Definition at line 286 of file bcrypt.h.

◆ BCRYPT_SECRET_AGREEMENT_INTERFACE

#define BCRYPT_SECRET_AGREEMENT_INTERFACE   0x00000004

Definition at line 233 of file bcrypt.h.

◆ BCRYPT_SECRET_AGREEMENT_OPERATION

#define BCRYPT_SECRET_AGREEMENT_OPERATION   0x00000008

Definition at line 226 of file bcrypt.h.

◆ BCRYPT_SHA1_ALG_HANDLE

#define BCRYPT_SHA1_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000031)

Definition at line 449 of file bcrypt.h.

◆ BCRYPT_SHA256_ALG_HANDLE

#define BCRYPT_SHA256_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000041)

Definition at line 450 of file bcrypt.h.

◆ BCRYPT_SHA384_ALG_HANDLE

#define BCRYPT_SHA384_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000051)

Definition at line 451 of file bcrypt.h.

◆ BCRYPT_SHA512_ALG_HANDLE

#define BCRYPT_SHA512_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000061)

Definition at line 452 of file bcrypt.h.

◆ BCRYPT_SIGNATURE_INTERFACE

#define BCRYPT_SIGNATURE_INTERFACE   0x00000005

Definition at line 234 of file bcrypt.h.

◆ BCRYPT_SIGNATURE_OPERATION

#define BCRYPT_SIGNATURE_OPERATION   0x00000010

Definition at line 227 of file bcrypt.h.

◆ BCRYPT_SP800108_CTR_HMAC_ALG_HANDLE

#define BCRYPT_SP800108_CTR_HMAC_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000341)

Definition at line 498 of file bcrypt.h.

◆ BCRYPT_SP80056A_CONCAT_ALG_HANDLE

#define BCRYPT_SP80056A_CONCAT_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000351)

Definition at line 499 of file bcrypt.h.

◆ BCRYPT_SUPPORTED_PAD_OAEP

#define BCRYPT_SUPPORTED_PAD_OAEP   0x00000008

Definition at line 241 of file bcrypt.h.

◆ BCRYPT_SUPPORTED_PAD_PKCS1_ENC

#define BCRYPT_SUPPORTED_PAD_PKCS1_ENC   0x00000002

Definition at line 239 of file bcrypt.h.

◆ BCRYPT_SUPPORTED_PAD_PKCS1_SIG

#define BCRYPT_SUPPORTED_PAD_PKCS1_SIG   0x00000004

Definition at line 240 of file bcrypt.h.

◆ BCRYPT_SUPPORTED_PAD_PSS

#define BCRYPT_SUPPORTED_PAD_PSS   0x00000010

Definition at line 242 of file bcrypt.h.

◆ BCRYPT_SUPPORTED_PAD_ROUTER

#define BCRYPT_SUPPORTED_PAD_ROUTER   0x00000001

Definition at line 238 of file bcrypt.h.

◆ BCRYPT_TLS1_1_KDF_ALG_HANDLE

#define BCRYPT_TLS1_1_KDF_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000361)

Definition at line 500 of file bcrypt.h.

◆ BCRYPT_TLS1_2_KDF_ALG_HANDLE

#define BCRYPT_TLS1_2_KDF_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000371)

Definition at line 501 of file bcrypt.h.

◆ BCRYPT_USE_SYSTEM_PREFERRED_RNG

#define BCRYPT_USE_SYSTEM_PREFERRED_RNG   0x00000002

Definition at line 507 of file bcrypt.h.

◆ BCRYPT_XTS_AES_ALG_HANDLE

#define BCRYPT_XTS_AES_ALG_HANDLE   ((BCRYPT_ALG_HANDLE)0x00000381)

Definition at line 502 of file bcrypt.h.

◆ BCRYPTBUFFER_VERSION

#define BCRYPTBUFFER_VERSION   0

Definition at line 427 of file bcrypt.h.

◆ CRYPT_DOMAIN

#define CRYPT_DOMAIN   0x00000002

Definition at line 519 of file bcrypt.h.

◆ CRYPT_LOCAL

#define CRYPT_LOCAL   0x00000001

Definition at line 518 of file bcrypt.h.

◆ IN

#define IN

Definition at line 27 of file bcrypt.h.

◆ KDF_HASH_ALGORITHM

#define KDF_HASH_ALGORITHM   0x00000000

Definition at line 416 of file bcrypt.h.

◆ KDF_SECRET_APPEND

#define KDF_SECRET_APPEND   0x00000002

Definition at line 418 of file bcrypt.h.

◆ KDF_SECRET_PREPEND

#define KDF_SECRET_PREPEND   0x00000001

Definition at line 417 of file bcrypt.h.

◆ OPTIONAL

Definition at line 35 of file bcrypt.h.

◆ OUT

#define OUT

Definition at line 31 of file bcrypt.h.

◆ WINAPI

#define WINAPI   __stdcall

Definition at line 23 of file bcrypt.h.

Typedef Documentation

◆ BCRYPT_ALG_HANDLE

Definition at line 439 of file bcrypt.h.

◆ BCRYPT_ALGORITHM_IDENTIFIER

◆ BCRYPT_AUTH_TAG_LENGTHS_STRUCT

◆ BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO

◆ BCRYPT_DH_KEY_BLOB

◆ BCRYPT_DH_PARAMETER_HEADER

◆ BCRYPT_DSA_KEY_BLOB

◆ BCRYPT_DSA_KEY_BLOB_V2

◆ BCRYPT_ECCKEY_BLOB

◆ BCRYPT_HANDLE

Definition at line 441 of file bcrypt.h.

◆ BCRYPT_HASH_HANDLE

Definition at line 442 of file bcrypt.h.

◆ BCRYPT_KEY_BLOB

◆ BCRYPT_KEY_DATA_BLOB_HEADER

◆ BCRYPT_KEY_HANDLE

Definition at line 440 of file bcrypt.h.

◆ BCRYPT_KEY_LENGTHS_STRUCT

◆ BCRYPT_OAEP_PADDING_INFO

◆ BCRYPT_PKCS1_PADDING_INFO

◆ BCRYPT_PSS_PADDING_INFO

◆ BCRYPT_RSAKEY_BLOB

◆ BCRYPT_SECRET_HANDLE

Definition at line 443 of file bcrypt.h.

◆ BCryptBuffer

◆ BCryptBufferDesc

◆ CRYPT_CONTEXT_FUNCTIONS

◆ CRYPT_IMAGE_REG

◆ CRYPT_INTERFACE_REG

◆ CRYPT_PROVIDER_REG

◆ PBCRYPT_AUTHENTICATED_CIPHER_MODE_INFO

◆ PBCRYPT_DH_KEY_BLOB

◆ PBCRYPT_DSA_KEY_BLOB

◆ PBCRYPT_DSA_KEY_BLOB_V2

◆ PBCRYPT_ECCKEY_BLOB

◆ PBCRYPT_KEY_DATA_BLOB_HEADER

◆ PBCryptBuffer

◆ PBCryptBufferDesc

◆ PCRYPT_CONTEXT_FUNCTIONS

◆ PCRYPT_IMAGE_REG

◆ PCRYPT_INTERFACE_REG

◆ PCRYPT_PROVIDER_REG

◆ PNTSTATUS

typedef NTSTATUS* PNTSTATUS

Definition at line 40 of file bcrypt.h.

Enumeration Type Documentation

◆ DSAFIPSVERSION_ENUM

Enumerator
DSA_FIPS186_2 
DSA_FIPS186_3 

Definition at line 346 of file bcrypt.h.

347{
DSAFIPSVERSION_ENUM
Definition: bcrypt.h:347
@ DSA_FIPS186_3
Definition: bcrypt.h:349
@ DSA_FIPS186_2
Definition: bcrypt.h:348

◆ HASHALGORITHM_ENUM

Enumerator
DSA_HASH_ALGORITHM_SHA1 
DSA_HASH_ALGORITHM_SHA256 
DSA_HASH_ALGORITHM_SHA512 

Definition at line 339 of file bcrypt.h.

340{
HASHALGORITHM_ENUM
Definition: bcrypt.h:340
@ DSA_HASH_ALGORITHM_SHA512
Definition: bcrypt.h:343
@ DSA_HASH_ALGORITHM_SHA256
Definition: bcrypt.h:342
@ DSA_HASH_ALGORITHM_SHA1
Definition: bcrypt.h:341

Function Documentation

◆ _Return_type_success_()

typedef _Return_type_success_ ( return >=  0)

◆ BCryptAddContextFunction()

NTSTATUS WINAPI BCryptAddContextFunction ( ULONG  ,
LPCWSTR  ,
ULONG  ,
LPCWSTR  ,
ULONG   
)

◆ BCryptCloseAlgorithmProvider()

NTSTATUS WINAPI BCryptCloseAlgorithmProvider ( BCRYPT_ALG_HANDLE  ,
ULONG   
)

◆ BCryptCreateHash()

NTSTATUS WINAPI BCryptCreateHash ( BCRYPT_ALG_HANDLE  algorithm,
BCRYPT_HASH_HANDLE handle,
PUCHAR  object,
ULONG  objectlen,
PUCHAR  secret,
ULONG  secretlen,
ULONG  flags 
)

Definition at line 1005 of file bcrypt_main.c.

1007{
1008 struct algorithm *alg = algorithm;
1009 struct hash *hash;
1011
1012 TRACE( "%p, %p, %p, %u, %p, %u, %08x - stub\n", algorithm, handle, object, objectlen,
1013 secret, secretlen, flags );
1014 if (flags)
1015 {
1016 FIXME( "unimplemented flags %08x\n", flags );
1018 }
1019
1020 if (!alg || alg->hdr.magic != MAGIC_ALG) return STATUS_INVALID_HANDLE;
1021 if (object) FIXME( "ignoring object buffer\n" );
1022
1023 if (!(hash = HeapAlloc( GetProcessHeap(), 0, sizeof(*hash) ))) return STATUS_NO_MEMORY;
1024 hash->hdr.magic = MAGIC_HASH;
1025 hash->alg_id = alg->id;
1026 hash->hmac = alg->hmac;
1027
1028 if (hash->hmac)
1029 {
1030 status = hmac_init( hash, secret, secretlen );
1031 }
1032 else
1033 {
1034 status = hash_init( hash );
1035 }
1036
1037 if (status != STATUS_SUCCESS)
1038 {
1039 HeapFree( GetProcessHeap(), 0, hash );
1040 return status;
1041 }
1042
1043 *handle = hash;
1044 return STATUS_SUCCESS;
1045}
LONG NTSTATUS
Definition: precomp.h:26
#define FIXME(fmt,...)
Definition: precomp.h:53
#define MAGIC_ALG
Definition: bcrypt_main.c:255
#define MAGIC_HASH
Definition: bcrypt_main.c:256
#define STATUS_INVALID_HANDLE
Definition: d3dkmdt.h:40
#define STATUS_NO_MEMORY
Definition: d3dkmdt.h:51
#define STATUS_NOT_IMPLEMENTED
Definition: d3dkmdt.h:42
#define GetProcessHeap()
Definition: compat.h:736
#define HeapAlloc
Definition: compat.h:733
#define HeapFree(x, y, z)
Definition: compat.h:735
static FT_Error hash_init(FT_Hash hash, FT_Bool is_num, FT_Memory memory)
Definition: fthash.c:165
GLbitfield flags
Definition: glext.h:7161
static char secret[]
Definition: protectdata.c:30
#define STATUS_SUCCESS
Definition: shellext.h:65
#define TRACE(s)
Definition: solgame.cpp:4
struct object hdr
Definition: bcrypt_main.c:290
enum alg_id id
Definition: bcrypt_main.c:291
Definition: _hash_fun.h:40
Definition: ps.c:97

Referenced by BCryptHash(), CNG_CalcHash(), CryptHashCertificate2(), and test_VerifySignature().

◆ BCryptDecrypt()

NTSTATUS WINAPI BCryptDecrypt ( BCRYPT_KEY_HANDLE  ,
PUCHAR  ,
ULONG  ,
VOID ,
PUCHAR  ,
ULONG  ,
PUCHAR  ,
ULONG  ,
ULONG ,
ULONG   
)

◆ BCryptDeriveKey()

NTSTATUS WINAPI BCryptDeriveKey ( BCRYPT_SECRET_HANDLE  ,
LPCWSTR  ,
BCryptBufferDesc ,
PUCHAR  ,
ULONG  ,
ULONG ,
ULONG   
)

◆ BCryptDeriveKeyCapi()

NTSTATUS WINAPI BCryptDeriveKeyCapi ( BCRYPT_HASH_HANDLE  ,
BCRYPT_ALG_HANDLE  ,
PUCHAR  ,
ULONG  ,
ULONG   
)

◆ BCryptDeriveKeyPBKDF2()

NTSTATUS WINAPI BCryptDeriveKeyPBKDF2 ( BCRYPT_ALG_HANDLE  ,
PUCHAR  ,
ULONG  ,
PUCHAR  ,
ULONG  ,
ULONGLONG  ,
PUCHAR  ,
ULONG  ,
ULONG   
)

◆ BCryptDestroyHash()

NTSTATUS WINAPI BCryptDestroyHash ( BCRYPT_HASH_HANDLE  handle)

Definition at line 1047 of file bcrypt_main.c.

1048{
1049 struct hash *hash = handle;
1050
1051 TRACE( "%p\n", handle );
1052
1053 if (!hash || hash->hdr.magic != MAGIC_HASH) return STATUS_INVALID_HANDLE;
1054 HeapFree( GetProcessHeap(), 0, hash );
1055 return STATUS_SUCCESS;
1056}

Referenced by BCryptHash(), CNG_CalcHash(), CryptHashCertificate2(), and test_VerifySignature().

◆ BCryptDestroyKey()

◆ BCryptDestroySecret()

NTSTATUS WINAPI BCryptDestroySecret ( BCRYPT_SECRET_HANDLE  )

◆ BCryptDuplicateHash()

NTSTATUS WINAPI BCryptDuplicateHash ( BCRYPT_HASH_HANDLE  ,
BCRYPT_HASH_HANDLE ,
UCHAR ,
ULONG  ,
ULONG   
)

◆ BCryptDuplicateKey()

NTSTATUS WINAPI BCryptDuplicateKey ( BCRYPT_KEY_HANDLE  ,
BCRYPT_KEY_HANDLE ,
PUCHAR  ,
ULONG  ,
ULONG   
)

◆ BCryptEncrypt()

NTSTATUS WINAPI BCryptEncrypt ( BCRYPT_KEY_HANDLE  ,
PUCHAR  ,
ULONG  ,
VOID ,
PUCHAR  ,
ULONG  ,
PUCHAR  ,
ULONG  ,
ULONG ,
ULONG   
)

◆ BCryptEnumAlgorithms()

NTSTATUS WINAPI BCryptEnumAlgorithms ( ULONG  dwAlgOperations,
ULONG pAlgCount,
BCRYPT_ALGORITHM_IDENTIFIER **  ppAlgList,
ULONG  dwFlags 
)

Definition at line 244 of file bcrypt_main.c.

246{
247 FIXME("%08x, %p, %p, %08x - stub\n", dwAlgOperations, pAlgCount, ppAlgList, dwFlags);
248
249 *ppAlgList=NULL;
250 *pAlgCount=0;
251
253}
#define NULL
Definition: types.h:112
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141

◆ BCryptEnumContextFunctions()

NTSTATUS WINAPI BCryptEnumContextFunctions ( ULONG  ,
const WCHAR ,
ULONG  ,
ULONG ,
CRYPT_CONTEXT_FUNCTIONS **   
)

◆ BCryptExportKey()

NTSTATUS WINAPI BCryptExportKey ( BCRYPT_KEY_HANDLE  ,
BCRYPT_KEY_HANDLE  ,
LPCWSTR  ,
PUCHAR  ,
ULONG  ,
ULONG ,
ULONG   
)

◆ BCryptFinalizeKeyPair()

NTSTATUS WINAPI BCryptFinalizeKeyPair ( BCRYPT_KEY_HANDLE  ,
ULONG   
)

◆ BCryptFinishHash()

NTSTATUS WINAPI BCryptFinishHash ( BCRYPT_HASH_HANDLE  handle,
PUCHAR  output,
ULONG  size,
ULONG  flags 
)

Definition at line 1077 of file bcrypt_main.c.

1078{
1079 struct hash *hash = handle;
1080
1081 TRACE( "%p, %p, %u, %08x\n", handle, output, size, flags );
1082
1083 if (!hash || hash->hdr.magic != MAGIC_HASH) return STATUS_INVALID_HANDLE;
1084 if (!output) return STATUS_INVALID_PARAMETER;
1085
1086 if (hash->hmac)
1087 {
1088 return hmac_finish( hash, output, size );
1089 }
1090 else
1091 {
1092 return hash_finish( hash, output, size );
1093 }
1094}
GLsizeiptr size
Definition: glext.h:5919
#define STATUS_INVALID_PARAMETER
Definition: udferr_usr.h:135

Referenced by BCryptHash(), CNG_CalcHash(), CryptHashCertificate2(), and test_VerifySignature().

◆ BCryptFreeBuffer()

void WINAPI BCryptFreeBuffer ( void )

◆ BCryptGenerateKeyPair()

NTSTATUS WINAPI BCryptGenerateKeyPair ( BCRYPT_ALG_HANDLE  ,
BCRYPT_KEY_HANDLE ,
ULONG  ,
ULONG   
)

◆ BCryptGenerateSymmetricKey()

NTSTATUS WINAPI BCryptGenerateSymmetricKey ( BCRYPT_ALG_HANDLE  ,
BCRYPT_KEY_HANDLE ,
PUCHAR  ,
ULONG  ,
PUCHAR  ,
ULONG  ,
ULONG   
)

◆ BCryptGenRandom()

NTSTATUS WINAPI BCryptGenRandom ( BCRYPT_ALG_HANDLE  handle,
PUCHAR  buffer,
ULONG  count,
ULONG  flags 
)

Definition at line 295 of file bcrypt_main.c.

296{
297 const DWORD supported_flags = BCRYPT_USE_SYSTEM_PREFERRED_RNG;
298 struct algorithm *algorithm = handle;
299
300 TRACE("%p, %p, %u, %08x - semi-stub\n", handle, buffer, count, flags);
301
302 if (!algorithm)
303 {
304 /* It's valid to call without an algorithm if BCRYPT_USE_SYSTEM_PREFERRED_RNG
305 * is set. In this case the preferred system RNG is used.
306 */
309 }
310 else if (algorithm->hdr.magic != MAGIC_ALG || algorithm->id != ALG_ID_RNG)
312
313 if (!buffer)
315
316 if (flags & ~supported_flags)
317 FIXME("unsupported flags %08x\n", flags & ~supported_flags);
318
319 if (algorithm)
320 FIXME("ignoring selected algorithm\n");
321
322 /* When zero bytes are requested the function returns success too. */
323 if (!count)
324 return STATUS_SUCCESS;
325
327 {
329 return STATUS_SUCCESS;
330 }
331
332 FIXME("called with unsupported parameters, returning error\n");
334}
#define BCRYPT_USE_SYSTEM_PREFERRED_RNG
Definition: bcrypt.h:507
@ ALG_ID_RNG
Definition: bcrypt_main.c:265
unsigned long DWORD
Definition: ntddk_ex.h:95
GLuint GLuint GLsizei count
Definition: gl.h:1545
GLuint buffer
Definition: glext.h:5915
#define RtlGenRandom
Definition: ntsecapi.h:691

◆ BCryptGetFipsAlgorithmMode()

NTSTATUS WINAPI BCryptGetFipsAlgorithmMode ( BOOLEAN enabled)

Definition at line 391 of file bcrypt_main.c.

392{
393 FIXME("%p - semi-stub\n", enabled);
394
395 if (!enabled)
397
398 *enabled = FALSE;
399 return STATUS_SUCCESS;
400}
#define FALSE
Definition: types.h:117
GLenum GLenum GLsizei const GLuint GLboolean enabled
Definition: glext.h:7750

◆ BCryptGetProperty()

NTSTATUS WINAPI BCryptGetProperty ( BCRYPT_HANDLE  handle,
LPCWSTR  prop,
PUCHAR  buffer,
ULONG  count,
ULONG res,
ULONG  flags 
)

Definition at line 978 of file bcrypt_main.c.

979{
980 struct object *object = handle;
981
982 TRACE( "%p, %s, %p, %u, %p, %08x\n", handle, wine_dbgstr_w(prop), buffer, count, res, flags );
983
984 if (!object) return STATUS_INVALID_HANDLE;
985 if (!prop || !res) return STATUS_INVALID_PARAMETER;
986
987 switch (object->magic)
988 {
989 case MAGIC_ALG:
990 {
991 const struct algorithm *alg = (const struct algorithm *)object;
992 return get_alg_property( alg->id, prop, buffer, count, res );
993 }
994 case MAGIC_HASH:
995 {
996 const struct hash *hash = (const struct hash *)object;
997 return get_hash_property( hash->alg_id, prop, buffer, count, res );
998 }
999 default:
1000 WARN( "unknown magic %08x\n", object->magic );
1001 return STATUS_INVALID_HANDLE;
1002 }
1003}
#define WARN(fmt,...)
Definition: precomp.h:61
static NTSTATUS get_hash_property(enum alg_id id, const WCHAR *prop, UCHAR *buf, ULONG size, ULONG *ret_size)
Definition: bcrypt_main.c:968
static NTSTATUS get_alg_property(enum alg_id id, const WCHAR *prop, UCHAR *buf, ULONG size, ULONG *ret_size)
Definition: bcrypt_main.c:891
GLuint res
Definition: glext.h:9613
#define wine_dbgstr_w
Definition: kernel32.h:34
ULONG magic
Definition: bcrypt_main.c:259

Referenced by CNG_CalcHash(), CryptHashCertificate2(), and test_VerifySignature().

◆ BCryptHash()

NTSTATUS WINAPI BCryptHash ( BCRYPT_ALG_HANDLE  algorithm,
PUCHAR  secret,
ULONG  secretlen,
PUCHAR  input,
ULONG  inputlen,
PUCHAR  output,
ULONG  outputlen 
)

Definition at line 1096 of file bcrypt_main.c.

1098{
1101
1102 TRACE( "%p, %p, %u, %p, %u, %p, %u\n", algorithm, secret, secretlen,
1103 input, inputlen, output, outputlen );
1104
1105 status = BCryptCreateHash( algorithm, &handle, NULL, 0, secret, secretlen, 0);
1106 if (status != STATUS_SUCCESS)
1107 {
1108 return status;
1109 }
1110
1111 status = BCryptHashData( handle, input, inputlen, 0 );
1112 if (status != STATUS_SUCCESS)
1113 {
1115 return status;
1116 }
1117
1118 status = BCryptFinishHash( handle, output, outputlen, 0 );
1119 if (status != STATUS_SUCCESS)
1120 {
1122 return status;
1123 }
1124
1125 return BCryptDestroyHash( handle );
1126}
NTSTATUS WINAPI BCryptHashData(BCRYPT_HASH_HANDLE handle, UCHAR *input, ULONG size, ULONG flags)
Definition: bcrypt_main.c:1058
NTSTATUS WINAPI BCryptDestroyHash(BCRYPT_HASH_HANDLE handle)
Definition: bcrypt_main.c:1047
NTSTATUS WINAPI BCryptCreateHash(BCRYPT_ALG_HANDLE algorithm, BCRYPT_HASH_HANDLE *handle, UCHAR *object, ULONG objectlen, UCHAR *secret, ULONG secretlen, ULONG flags)
Definition: bcrypt_main.c:1005
NTSTATUS WINAPI BCryptFinishHash(BCRYPT_HASH_HANDLE handle, UCHAR *output, ULONG size, ULONG flags)
Definition: bcrypt_main.c:1077
GLenum GLenum GLenum input
Definition: glext.h:9031

Referenced by assembly_get_pubkey_token().

◆ BCryptHashData()

NTSTATUS WINAPI BCryptHashData ( BCRYPT_HASH_HANDLE  handle,
PUCHAR  input,
ULONG  size,
ULONG  flags 
)

Definition at line 1058 of file bcrypt_main.c.

1059{
1060 struct hash *hash = handle;
1061
1062 TRACE( "%p, %p, %u, %08x\n", handle, input, size, flags );
1063
1064 if (!hash || hash->hdr.magic != MAGIC_HASH) return STATUS_INVALID_HANDLE;
1065 if (!input) return STATUS_SUCCESS;
1066
1067 if (hash->hmac)
1068 {
1069 return hmac_update( hash, input, size );
1070 }
1071 else
1072 {
1073 return hash_update( hash, input, size );
1074 }
1075}

Referenced by BCryptHash(), CNG_CalcHash(), CryptHashCertificate2(), and test_VerifySignature().

◆ BCryptImportKey()

NTSTATUS WINAPI BCryptImportKey ( BCRYPT_ALG_HANDLE  ,
BCRYPT_KEY_HANDLE  ,
LPCWSTR  ,
BCRYPT_KEY_HANDLE ,
PUCHAR  ,
ULONG  ,
PUCHAR  ,
ULONG  ,
ULONG   
)

◆ BCryptImportKeyPair()

NTSTATUS WINAPI BCryptImportKeyPair ( BCRYPT_ALG_HANDLE  ,
BCRYPT_KEY_HANDLE  ,
LPCWSTR  ,
BCRYPT_KEY_HANDLE ,
UCHAR ,
ULONG  ,
ULONG   
)

◆ BCryptOpenAlgorithmProvider()

NTSTATUS WINAPI BCryptOpenAlgorithmProvider ( BCRYPT_ALG_HANDLE ,
LPCWSTR  ,
LPCWSTR  ,
ULONG   
)

◆ BCryptRemoveContextFunction()

NTSTATUS WINAPI BCryptRemoveContextFunction ( ULONG  ,
LPCWSTR  ,
ULONG  ,
LPCWSTR   
)

◆ BCryptSecretAgreement()

NTSTATUS WINAPI BCryptSecretAgreement ( BCRYPT_KEY_HANDLE  ,
BCRYPT_KEY_HANDLE  ,
BCRYPT_SECRET_HANDLE ,
ULONG   
)

◆ BCryptSetProperty()

NTSTATUS WINAPI BCryptSetProperty ( BCRYPT_HANDLE  ,
LPCWSTR  ,
PUCHAR  ,
ULONG  ,
ULONG   
)

◆ BCryptSignHash()

NTSTATUS WINAPI BCryptSignHash ( BCRYPT_KEY_HANDLE  ,
void ,
PUCHAR  ,
ULONG  ,
PUCHAR  ,
ULONG  ,
ULONG ,
ULONG   
)

◆ BCryptVerifySignature()

NTSTATUS WINAPI BCryptVerifySignature ( BCRYPT_KEY_HANDLE  ,
void ,
UCHAR ,
ULONG  ,
UCHAR ,
ULONG  ,
ULONG   
)

Variable Documentation

◆ BCRYPT_3DES_ALGORITHM

const WCHAR BCRYPT_3DES_ALGORITHM[] = {'3','D','E','S',0}
static

Definition at line 170 of file bcrypt.h.

◆ BCRYPT_AES_ALGORITHM

const WCHAR BCRYPT_AES_ALGORITHM[] = {'A','E','S',0}
static

Definition at line 171 of file bcrypt.h.

◆ BCRYPT_AES_WRAP_KEY_BLOB

const WCHAR BCRYPT_AES_WRAP_KEY_BLOB[] = {'R','f','c','3','5','6','5','K','e','y','W','r','a','p','B','l','o','b',0}
static

Definition at line 146 of file bcrypt.h.

◆ BCRYPT_ALGORITHM_NAME

const WCHAR BCRYPT_ALGORITHM_NAME[] = {'A','l','g','o','r','i','t','h','m','N','a','m','e',0}
static

Definition at line 125 of file bcrypt.h.

Referenced by _test_alg_name(), and generic_alg_property().

◆ BCRYPT_AUTH_TAG_LENGTH

const WCHAR BCRYPT_AUTH_TAG_LENGTH[] = {'A','u','t','h','T','a','g','L','e','n','g','t','h',0}
static

Definition at line 126 of file bcrypt.h.

◆ BCRYPT_BLOCK_LENGTH

const WCHAR BCRYPT_BLOCK_LENGTH[] = {'B','l','o','c','k','L','e','n','g','t','h',0}
static

Definition at line 127 of file bcrypt.h.

◆ BCRYPT_BLOCK_SIZE_LIST

const WCHAR BCRYPT_BLOCK_SIZE_LIST[] = {'B','l','o','c','k','S','i','z','e','L','i','s','t',0}
static

Definition at line 128 of file bcrypt.h.

◆ BCRYPT_CHAIN_MODE_CBC

const WCHAR BCRYPT_CHAIN_MODE_CBC[] = {'C','h','a','i','n','i','n','g','M','o','d','e','C','B','C',0}
static

Definition at line 194 of file bcrypt.h.

◆ BCRYPT_CHAIN_MODE_CCM

const WCHAR BCRYPT_CHAIN_MODE_CCM[] = {'C','h','a','i','n','i','n','g','M','o','d','e','C','C','M',0}
static

Definition at line 197 of file bcrypt.h.

◆ BCRYPT_CHAIN_MODE_CFB

const WCHAR BCRYPT_CHAIN_MODE_CFB[] = {'C','h','a','i','n','i','n','g','M','o','d','e','C','F','B',0}
static

Definition at line 196 of file bcrypt.h.

◆ BCRYPT_CHAIN_MODE_ECB

const WCHAR BCRYPT_CHAIN_MODE_ECB[] = {'C','h','a','i','n','i','n','g','M','o','d','e','E','C','B',0}
static

Definition at line 195 of file bcrypt.h.

◆ BCRYPT_CHAIN_MODE_GCM

const WCHAR BCRYPT_CHAIN_MODE_GCM[] = {'C','h','a','i','n','i','n','g','M','o','d','e','G','C','M',0}
static

Definition at line 198 of file bcrypt.h.

◆ BCRYPT_CHAIN_MODE_NA

const WCHAR BCRYPT_CHAIN_MODE_NA[] = {'C','h','a','i','n','i','n','g','M','o','d','e','N','/','A',0}
static

Definition at line 193 of file bcrypt.h.

◆ BCRYPT_CHAINING_MODE

const WCHAR BCRYPT_CHAINING_MODE[] = {'C','h','a','i','n','i','n','g','M','o','d','e',0}
static

Definition at line 129 of file bcrypt.h.

◆ BCRYPT_DES_ALGORITHM

const WCHAR BCRYPT_DES_ALGORITHM[] = {'D','E','S',0}
static

Definition at line 172 of file bcrypt.h.

◆ BCRYPT_DH_ALGORITHM

const WCHAR BCRYPT_DH_ALGORITHM[] = {'D','H',0}
static

Definition at line 173 of file bcrypt.h.

◆ BCRYPT_DH_PARAMETERS

const WCHAR BCRYPT_DH_PARAMETERS[] = {'D','H','P','a','r','a','m','e','t','e','r','s',0}
static

Definition at line 206 of file bcrypt.h.

◆ BCRYPT_DH_PRIVATE_BLOB

const WCHAR BCRYPT_DH_PRIVATE_BLOB[] = {'D','H','P','R','I','V','A','T','E','B','L','O','B',0}
static

Definition at line 157 of file bcrypt.h.

◆ BCRYPT_DH_PUBLIC_BLOB

const WCHAR BCRYPT_DH_PUBLIC_BLOB[] = {'D','H','P','U','B','L','I','C','B','L','O','B',0}
static

Definition at line 156 of file bcrypt.h.

◆ BCRYPT_DSA_ALGORITHM

const WCHAR BCRYPT_DSA_ALGORITHM[] = {'D','S','A',0}
static

Definition at line 174 of file bcrypt.h.

◆ BCRYPT_DSA_PRIVATE_BLOB

const WCHAR BCRYPT_DSA_PRIVATE_BLOB[] = {'D','S','A','P','R','I','V','A','T','E','B','L','O','B',0}
static

Definition at line 153 of file bcrypt.h.

◆ BCRYPT_DSA_PUBLIC_BLOB

const WCHAR BCRYPT_DSA_PUBLIC_BLOB[] = {'D','S','A','P','U','B','L','I','C','B','L','O','B',0}
static

Definition at line 152 of file bcrypt.h.

◆ BCRYPT_ECCPRIVATE_BLOB

const WCHAR BCRYPT_ECCPRIVATE_BLOB[] = {'E','C','C','P','R','I','V','A','T','E','B','L','O','B',0}
static

Definition at line 148 of file bcrypt.h.

◆ BCRYPT_ECCPUBLIC_BLOB

const WCHAR BCRYPT_ECCPUBLIC_BLOB[] = {'E','C','C','P','U','B','L','I','C','B','L','O','B',0}
static

Definition at line 147 of file bcrypt.h.

Referenced by CNG_ImportECCPubKey().

◆ BCRYPT_ECDH_P256_ALGORITHM

const WCHAR BCRYPT_ECDH_P256_ALGORITHM[] = {'E','C','D','H','_','P','2','5','6',0}
static

Definition at line 175 of file bcrypt.h.

◆ BCRYPT_ECDH_P384_ALGORITHM

const WCHAR BCRYPT_ECDH_P384_ALGORITHM[] = {'E','C','D','H','_','P','3','8','4',0}
static

Definition at line 176 of file bcrypt.h.

◆ BCRYPT_ECDSA_P256_ALGORITHM

const WCHAR BCRYPT_ECDSA_P256_ALGORITHM[] = {'E','C','D','S','A','_','P','2','5','6',0}
static

Definition at line 177 of file bcrypt.h.

Referenced by BCryptOpenAlgorithmProvider().

◆ BCRYPT_ECDSA_P384_ALGORITHM

const WCHAR BCRYPT_ECDSA_P384_ALGORITHM[] = {'E','C','D','S','A','_','P','3','8','4',0}
static

Definition at line 178 of file bcrypt.h.

Referenced by BCryptOpenAlgorithmProvider().

◆ BCRYPT_ECDSA_P521_ALGORITHM

const WCHAR BCRYPT_ECDSA_P521_ALGORITHM[] = {'E','C','D','S','A','_','P','5','2','1',0}
static

Definition at line 179 of file bcrypt.h.

◆ BCRYPT_EFFECTIVE_KEY_LENGTH

const WCHAR BCRYPT_EFFECTIVE_KEY_LENGTH[] = {'E','f','f','e','c','t','i','v','e','K','e','y','L','e','n','g','t','h',0}
static

Definition at line 130 of file bcrypt.h.

◆ BCRYPT_HASH_BLOCK_LENGTH

const WCHAR BCRYPT_HASH_BLOCK_LENGTH[] = {'H','a','s','h','B','l','o','c','k','L','e','n','g','t','h',0}
static

Definition at line 131 of file bcrypt.h.

◆ BCRYPT_HASH_LENGTH

const WCHAR BCRYPT_HASH_LENGTH[] = {'H','a','s','h','D','i','g','e','s','t','L','e','n','g','t','h',0}
static

◆ BCRYPT_HASH_OID_LIST

const WCHAR BCRYPT_HASH_OID_LIST[] = {'H','a','s','h','O','I','D','L','i','s','t',0}
static

Definition at line 133 of file bcrypt.h.

◆ BCRYPT_KDF_HASH

const WCHAR BCRYPT_KDF_HASH[] = {'H','A','S','H',0}
static

Definition at line 200 of file bcrypt.h.

◆ BCRYPT_KDF_HMAC

const WCHAR BCRYPT_KDF_HMAC[] = {'H','M','A','C',0}
static

Definition at line 201 of file bcrypt.h.

◆ BCRYPT_KDF_RAW_SECRET

const WCHAR BCRYPT_KDF_RAW_SECRET[] = {'T','R','U','N','C','A','T','E',0}
static

Definition at line 204 of file bcrypt.h.

◆ BCRYPT_KDF_SP80056A_CONCAT

const WCHAR BCRYPT_KDF_SP80056A_CONCAT[] = {'S','P','8','0','0','_','5','6','A','_','C','O','N','C','A','T',0}
static

Definition at line 203 of file bcrypt.h.

◆ BCRYPT_KDF_TLS_PRF

const WCHAR BCRYPT_KDF_TLS_PRF[] = {'T','L','S','_','P','R','F',0}
static

Definition at line 202 of file bcrypt.h.

◆ BCRYPT_KEY_DATA_BLOB

const WCHAR BCRYPT_KEY_DATA_BLOB[] = {'K','e','y','D','a','t','a','B','l','o','b',0}
static

Definition at line 145 of file bcrypt.h.

◆ BCRYPT_KEY_LENGTH

const WCHAR BCRYPT_KEY_LENGTH[] = {'K','e','y','L','e','n','g','t','h',0}
static

Definition at line 134 of file bcrypt.h.

◆ BCRYPT_KEY_LENGTHS

const WCHAR BCRYPT_KEY_LENGTHS[] = {'K','e','y','L','e','n','g','t','h','s',0}
static

Definition at line 135 of file bcrypt.h.

◆ BCRYPT_KEY_OBJECT_LENGTH

const WCHAR BCRYPT_KEY_OBJECT_LENGTH[] = {'K','e','y','O','b','j','e','c','t','L','e','n','g','t','h',0}
static

Definition at line 136 of file bcrypt.h.

◆ BCRYPT_KEY_STRENGTH

const WCHAR BCRYPT_KEY_STRENGTH[] = {'K','e','y','S','t','r','e','n','g','t','h',0}
static

Definition at line 137 of file bcrypt.h.

◆ BCRYPT_MD2_ALGORITHM

const WCHAR BCRYPT_MD2_ALGORITHM[] = {'M','D','2',0}
static

Definition at line 180 of file bcrypt.h.

◆ BCRYPT_MD4_ALGORITHM

const WCHAR BCRYPT_MD4_ALGORITHM[] = {'M','D','4',0}
static

Definition at line 181 of file bcrypt.h.

◆ BCRYPT_MD5_ALGORITHM

const WCHAR BCRYPT_MD5_ALGORITHM[] = {'M','D','5',0}
static

Definition at line 182 of file bcrypt.h.

Referenced by BCryptOpenAlgorithmProvider(), test_BcryptHash(), and test_md5().

◆ BCRYPT_OBJECT_LENGTH

const WCHAR BCRYPT_OBJECT_LENGTH[] = {'O','b','j','e','c','t','L','e','n','g','t','h',0}
static

◆ BCRYPT_OPAQUE_KEY_BLOB

const WCHAR BCRYPT_OPAQUE_KEY_BLOB[] = {'O','p','a','q','u','e','K','e','y','B','l','o','b',0}
static

Definition at line 144 of file bcrypt.h.

◆ BCRYPT_PADDING_SCHEMES

const WCHAR BCRYPT_PADDING_SCHEMES[] = {'P','a','d','d','i','n','g','S','c','h','e','m','e','s',0}
static

Definition at line 139 of file bcrypt.h.

◆ BCRYPT_PRIVATE_KEY_BLOB

const WCHAR BCRYPT_PRIVATE_KEY_BLOB[] = {'P','R','I','V','A','T','E','B','L','O','B',0}
static

Definition at line 155 of file bcrypt.h.

◆ BCRYPT_PROVIDER_HANDLE

const WCHAR BCRYPT_PROVIDER_HANDLE[] = {'P','r','o','v','i','d','e','r','H','a','n','d','l','e',0}
static

Definition at line 140 of file bcrypt.h.

◆ BCRYPT_PUBLIC_KEY_BLOB

const WCHAR BCRYPT_PUBLIC_KEY_BLOB[] = {'P','U','B','L','I','C','B','L','O','B',0}
static

Definition at line 154 of file bcrypt.h.

◆ BCRYPT_PUBLIC_KEY_LENGTH

const WCHAR BCRYPT_PUBLIC_KEY_LENGTH[] = {'P','u','b','l','i','c','K','e','y','L','e','n','g','t','h',0}
static

Definition at line 142 of file bcrypt.h.

◆ BCRYPT_RC2_ALGORITHM

const WCHAR BCRYPT_RC2_ALGORITHM[] = {'R','C','2',0}
static

Definition at line 183 of file bcrypt.h.

◆ BCRYPT_RC4_ALGORITHM

const WCHAR BCRYPT_RC4_ALGORITHM[] = {'R','C','4',0}
static

Definition at line 184 of file bcrypt.h.

◆ BCRYPT_RNG_ALGORITHM

const WCHAR BCRYPT_RNG_ALGORITHM[] = {'R','N','G',0}
static

Definition at line 185 of file bcrypt.h.

Referenced by BCryptOpenAlgorithmProvider(), and test_rng().

◆ BCRYPT_RSA_ALGORITHM

const WCHAR BCRYPT_RSA_ALGORITHM[] = {'R','S','A',0}
static

Definition at line 186 of file bcrypt.h.

◆ BCRYPT_RSA_SIGN_ALGORITHM

const WCHAR BCRYPT_RSA_SIGN_ALGORITHM[] = {'R','S','A','_','S','I','G','N',0}
static

Definition at line 187 of file bcrypt.h.

◆ BCRYPT_RSAFULLPRIVATE_BLOB

const WCHAR BCRYPT_RSAFULLPRIVATE_BLOB[] = {'R','S','A','F','U','L','L','P','R','I','V','A','T','E','B','L','O','B',0}
static

Definition at line 151 of file bcrypt.h.

◆ BCRYPT_RSAPRIVATE_BLOB

const WCHAR BCRYPT_RSAPRIVATE_BLOB[] = {'R','S','A','P','R','I','V','A','T','E','B','L','O','B',0}
static

Definition at line 150 of file bcrypt.h.

◆ BCRYPT_RSAPUBLIC_BLOB

const WCHAR BCRYPT_RSAPUBLIC_BLOB[] = {'R','S','A','P','U','B','L','I','C','B','L','O','B',0}
static

Definition at line 149 of file bcrypt.h.

Referenced by CNG_ImportRSAPubKey().

◆ BCRYPT_SHA1_ALGORITHM

const WCHAR BCRYPT_SHA1_ALGORITHM[] = {'S','H','A','1',0}
static

◆ BCRYPT_SHA256_ALGORITHM

const WCHAR BCRYPT_SHA256_ALGORITHM[] = {'S','H','A','2','5','6',0}
static

◆ BCRYPT_SHA384_ALGORITHM

const WCHAR BCRYPT_SHA384_ALGORITHM[] = {'S','H','A','3','8','4',0}
static

Definition at line 190 of file bcrypt.h.

Referenced by BCryptOpenAlgorithmProvider(), and test_sha384().

◆ BCRYPT_SHA512_ALGORITHM

const WCHAR BCRYPT_SHA512_ALGORITHM[] = {'S','H','A','5','1','2',0}
static

Definition at line 191 of file bcrypt.h.

Referenced by BCryptOpenAlgorithmProvider(), and test_sha512().

◆ BCRYPT_SIGNATURE_LENGTH

const WCHAR BCRYPT_SIGNATURE_LENGTH[] = {'S','i','g','n','a','t','u','r','e','L','e','n','g','t','h',0}
static

Definition at line 141 of file bcrypt.h.

◆ LEGACY_DSA_PRIVATE_BLOB

const WCHAR LEGACY_DSA_PRIVATE_BLOB[] = {'C','A','P','I','D','S','A','P','R','I','V','A','T','E','B','L','O','B',0}
static

Definition at line 159 of file bcrypt.h.

◆ LEGACY_DSA_PUBLIC_BLOB

const WCHAR LEGACY_DSA_PUBLIC_BLOB[] = {'C','A','P','I','D','S','A','P','U','B','L','I','C','B','L','O','B',0}
static

Definition at line 158 of file bcrypt.h.

◆ LEGACY_DSA_V2_PRIVATE_BLOB

const WCHAR LEGACY_DSA_V2_PRIVATE_BLOB[] = {'V','2','C','A','P','I','D','S','A','P','R','I','V','A','T','E','B','L','O','B',0}
static

Definition at line 161 of file bcrypt.h.

◆ LEGACY_DSA_V2_PUBLIC_BLOB

const WCHAR LEGACY_DSA_V2_PUBLIC_BLOB[] = {'V','2','C','A','P','I','D','S','A','P','U','B','L','I','C','B','L','O','B',0}
static

Definition at line 160 of file bcrypt.h.

◆ LEGACY_RSAPRIVATE_BLOB

const WCHAR LEGACY_RSAPRIVATE_BLOB[] = {'C','A','P','I','P','R','I','V','A','T','E','B','L','O','B',0}
static

Definition at line 163 of file bcrypt.h.

◆ LEGACY_RSAPUBLIC_BLOB

const WCHAR LEGACY_RSAPUBLIC_BLOB[] = {'C','A','P','I','P','U','B','L','I','C','B','L','O','B',0}
static

Definition at line 162 of file bcrypt.h.

◆ MS_PLATFORM_CRYPTO_PROVIDER

const WCHAR MS_PLATFORM_CRYPTO_PROVIDER[]
static
Initial value:
=
{'M','i','c','r','o','s','o','f','t',' ','P','l','a','t','f','o','r','m',' ','C','r','y','p','t','o',' ','P','r','o','v','i','d','e','r',0}

Definition at line 167 of file bcrypt.h.

◆ MS_PRIMITIVE_PROVIDER

const WCHAR MS_PRIMITIVE_PROVIDER[]
static
Initial value:
=
{'M','i','c','r','o','s','o','f','t',' ','P','r','i','m','i','t','i','v','e',' ','P','r','o','v','i','d','e','r',0}

Definition at line 165 of file bcrypt.h.

Referenced by assembly_get_pubkey_token(), BCryptOpenAlgorithmProvider(), test_BcryptHash(), test_md5(), test_rng(), test_sha1(), test_sha256(), test_sha384(), test_sha512(), and test_VerifySignature().