From 29a0cfa47bae221906199b6e77a63f232541f199 Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath <nathbap...@gmail.com> Date: Thu, 4 Jul 2024 17:36:19 +0000 Subject: [PATCH] headers: Add new symbols in bcrypt.h
Required for https://github.com/googleapis/google-cloud-cpp Signed-off-by: Biswapriyo Nath <nathbap...@gmail.com> --- mingw-w64-headers/include/bcrypt.h | 135 +++++++++++++++++++++++++++++ 1 file changed, 135 insertions(+) diff --git a/mingw-w64-headers/include/bcrypt.h b/mingw-w64-headers/include/bcrypt.h index 6369fd1..cb7a7c1 100644 --- a/mingw-w64-headers/include/bcrypt.h +++ b/mingw-w64-headers/include/bcrypt.h @@ -150,6 +150,15 @@ extern "C" { #define BCRYPT_HKDF_PRK_AND_FINALIZE L"HkdfPrkAndFinalize" #endif +#if NTDDI_VERSION >= NTDDI_WIN11_ZN +#define BCRYPT_FUNCTION_NAME_STRING L"FunctionNameString" +#define BCRYPT_CUSTOMIZATION_STRING L"CustomizationString" +#endif + +#if NTDDI_VERSION >= NTDDI_WIN11_GA +#define BCRYPT_CHAIN_MODE_KWP L"ChainingModeKWP" +#endif + #define BCRYPT_SUPPORTED_PAD_ROUTER 0x00000001 #define BCRYPT_SUPPORTED_PAD_PKCS1_ENC 0x00000002 #define BCRYPT_SUPPORTED_PAD_PKCS1_SIG 0x00000004 @@ -160,6 +169,10 @@ extern "C" { #define BCRYPT_BLOCK_PADDING 0x00000001 +#if NTDDI_VERSION >= NTDDI_WIN10_CO +#define BCRYPT_GENERATE_IV 0x00000020 +#endif + #define BCRYPT_PAD_NONE 0x00000001 #define BCRYPT_PAD_PKCS1 0x00000002 #define BCRYPT_PAD_OAEP 0x00000004 @@ -264,6 +277,7 @@ extern "C" { #define BCRYPT_ECCFULLPRIVATE_BLOB L"ECCFULLPRIVATEBLOB" #define SSL_ECCPUBLIC_BLOB L"SSLECCPUBLICBLOB" #endif +#define TLS_13_PRE_SHARED_KEY L"TLS13PRESHAREDKEY" #define BCRYPT_ECDH_PUBLIC_P256_MAGIC 0x314b4345 #define BCRYPT_ECDH_PRIVATE_P256_MAGIC 0x324b4345 @@ -362,6 +376,97 @@ extern "C" { #define BCRYPT_RNG_INTERFACE 0x00000006 #define BCRYPT_KEY_DERIVATION_INTERFACE 0x00000007 +#if NTDDI_VERSION >= NTDDI_WINTHRESHOLD +#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) + +#endif + +#if NTDDI_VERSION >= NTDDI_WIN10_FE +#define BCRYPT_CHACHA20_POLY1305_ALG_HANDLE ((BCRYPT_ALG_HANDLE) 0x000003A1) +#endif + +#if NTDDI_VERSION >= NTDDI_WIN11_ZN +#define BCRYPT_SHA3_256_ALG_HANDLE ((BCRYPT_ALG_HANDLE) 0x000003B1) +#define BCRYPT_SHA3_384_ALG_HANDLE ((BCRYPT_ALG_HANDLE) 0x000003C1) +#define BCRYPT_SHA3_512_ALG_HANDLE ((BCRYPT_ALG_HANDLE) 0x000003D1) +#define BCRYPT_HMAC_SHA3_256_ALG_HANDLE ((BCRYPT_ALG_HANDLE) 0x000003E1) +#define BCRYPT_HMAC_SHA3_384_ALG_HANDLE ((BCRYPT_ALG_HANDLE) 0x000003F1) +#define BCRYPT_HMAC_SHA3_512_ALG_HANDLE ((BCRYPT_ALG_HANDLE) 0x00000401) +#define BCRYPT_CSHAKE128_ALG_HANDLE ((BCRYPT_ALG_HANDLE) 0x00000411) +#define BCRYPT_CSHAKE256_ALG_HANDLE ((BCRYPT_ALG_HANDLE) 0x00000421) +#define BCRYPT_KMAC128_ALG_HANDLE ((BCRYPT_ALG_HANDLE) 0x00000431) +#define BCRYPT_KMAC256_ALG_HANDLE ((BCRYPT_ALG_HANDLE) 0x00000441) +#endif + +#if NTDDI_VERSION >= NTDDI_WIN11_GA +#define BCRYPT_AES_KWP_ALG_HANDLE ((BCRYPT_ALG_HANDLE) 0x00000451) +#endif + #define BCRYPT_ALG_HANDLE_HMAC_FLAG 0x00000008 #define BCRYPT_CAPI_AES_FLAG 0x00000010 #define BCRYPT_HASH_REUSABLE_FLAG 0x00000020 @@ -442,6 +547,36 @@ typedef PVOID BCRYPT_HANDLE; ULONG cbKey; } BCRYPT_ECCKEY_BLOB,*PBCRYPT_ECCKEY_BLOB; +#if NTDDI_VERSION >= NTDDI_WINTHRESHOLD + typedef struct _SSL_ECCKEY_BLOB { + ULONG dwCurveType; + ULONG cbKey; + } SSL_ECCKEY_BLOB, *PSSL_ECCKEY_BLOB; + +#define BCRYPT_ECC_FULLKEY_BLOB_V1 0x1 + + typedef enum { + BCRYPT_ECC_PRIME_SHORT_WEIERSTRASS_CURVE = 0x1, + BCRYPT_ECC_PRIME_TWISTED_EDWARDS_CURVE = 0x2, + BCRYPT_ECC_PRIME_MONTGOMERY_CURVE = 0x3 + } ECC_CURVE_TYPE_ENUM; + + typedef enum { + BCRYPT_NO_CURVE_GENERATION_ALG_ID = 0x0 + } ECC_CURVE_ALG_ID_ENUM; + + typedef struct _BCRYPT_ECCFULLKEY_BLOB { + ULONG dwMagic; + ULONG dwVersion; + ECC_CURVE_TYPE_ENUM dwCurveType; + ECC_CURVE_ALG_ID_ENUM dwCurveGenerationAlgId; + ULONG cbFieldLength; + ULONG cbSubgroupOrder; + ULONG cbCofactor; + ULONG cbSeed; + } BCRYPT_ECCFULLKEY_BLOB, *PBCRYPT_ECCFULLKEY_BLOB; +#endif /* NTDDI_VERSION >= NTDDI_WINTHRESHOLD */ + typedef struct _BCRYPT_DH_KEY_BLOB { ULONG dwMagic; ULONG cbKey; -- 2.45.2
_______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public