From e893abd3c6a5f03ed2970a98afde9114160d7f18 Mon Sep 17 00:00:00 2001 From: Danny Smith Date: Wed, 14 Aug 2002 23:47:46 +0000 Subject: [PATCH] * include/wincrypt.h (ALG_*): Add defines. (CALG_*): Ditto. (CRYPT_*): Ditto. (PP_*): Ditto. (PROV_*): Ditto. (PRIVATEKEYBLOB): Add define. --- winsup/w32api/ChangeLog | 9 +++++ winsup/w32api/include/wincrypt.h | 64 ++++++++++++++++++++++++++++++++ 2 files changed, 73 insertions(+) diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index bfb245a62..198ee7f22 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,3 +1,12 @@ +2002-08-15 Danny Smith + + * include/wincrypt.h (ALG_*): Add defines. + (CALG_*): Ditto. + (CRYPT_*): Ditto. + (PP_*): Ditto. + (PROV_*): Ditto. + (PRIVATEKEYBLOB): Add define. + 2002-08-14 Earnie Boyd * include/shlobj.h (SHGetFolderPath): Add define. diff --git a/winsup/w32api/include/wincrypt.h b/winsup/w32api/include/wincrypt.h index 26ff8ba6b..94e693682 100644 --- a/winsup/w32api/include/wincrypt.h +++ b/winsup/w32api/include/wincrypt.h @@ -18,11 +18,14 @@ extern "C" { #define ALG_CLASS_DATA_ENCRYPT 24576 #define ALG_CLASS_HASH 32768 #define ALG_CLASS_KEY_EXCHANGE 40960 +#define ALG_CLASS_ALL 57344 /* (7 << 13) */ #define ALG_TYPE_ANY 0 #define ALG_TYPE_DSS 512 #define ALG_TYPE_RSA 1024 #define ALG_TYPE_BLOCK 1536 #define ALG_TYPE_STREAM 2048 +#define ALG_TYPE_DH 2560 /* (5 << 9) */ +#define ALG_TYPE_SECURECHANNEL 3072 /* (6 << 9) */ #define ALG_SID_ANY 0 #define ALG_SID_RSA_ANY 0 #define ALG_SID_RSA_PKCS 1 @@ -33,6 +36,17 @@ extern "C" { #define ALG_SID_DSS_PKCS 1 #define ALG_SID_DSS_DMS 2 #define ALG_SID_DES 1 +#define ALG_SID_3DES 3 +#define ALG_SID_DESX 4 +#define ALG_SID_IDEA 5 +#define ALG_SID_CAST 6 +#define ALG_SID_SAFERSK64 7 +#define ALG_SID_SAFERSK128 8 +#define ALG_SID_3DES_112 9 +#define ALG_SID_SKIPJACK 10 +#define ALG_SID_TEK 11 +#define ALG_SID_CYLINK_MEK 12 +#define ALG_SID_RC5 13 #define ALG_SID_RC2 2 #define ALG_SID_RC4 1 #define ALG_SID_SEAL 2 @@ -41,7 +55,13 @@ extern "C" { #define ALG_SID_MD5 3 #define ALG_SID_SHA 4 #define ALG_SID_MAC 5 +#define ALG_SID_RIPEMD 6 +#define ALG_SID_RIPEMD160 7 +#define ALG_SID_SSL3SHAMD5 8 +#define ALG_SID_HMAC 9 +#define ALG_SID_TLS1PRF 10 #define ALG_SID_EXAMPLE 80 + #define CALG_MD2 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD2) #define CALG_MD4 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD4) #define CALG_MD5 (ALG_CLASS_HASH|ALG_TYPE_ANY|ALG_SID_MD5) @@ -59,17 +79,21 @@ extern "C" { #define CALG_RC4 (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_RC4) #define CALG_SEAL (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_STREAM|ALG_SID_SEAL) #define CALG_DH_EPHEM (ALG_CLASS_KEY_EXCHANGE|ALG_TYPE_STREAM|ALG_TYPE_DSS|ALG_SID_DSS_DMS) +#define CALG_DESX (ALG_CLASS_DATA_ENCRYPT|ALG_TYPE_BLOCK|ALG_SID_DESX) +#define CALG_TLS1PRF (ALG_CLASS_DHASH|ALG_TYPE_ANY|ALG_SID_TLS1PRF) #define CRYPT_VERIFYCONTEXT 0xF0000000 #define CRYPT_NEWKEYSET 8 #define CRYPT_DELETEKEYSET 16 #define CRYPT_MACHINE_KEYSET 32 +#define CRYPT_SILENT 64 #define CRYPT_EXPORTABLE 1 #define CRYPT_USER_PROTECTED 2 #define CRYPT_CREATE_SALT 4 #define CRYPT_UPDATE_KEY 8 #define SIMPLEBLOB 1 #define PUBLICKEYBLOB 6 +#define PRIVATEKEYBLOB 7 #define AT_KEYEXCHANGE 1 #define AT_SIGNATURE 2 #define CRYPT_USERDATA 1 @@ -87,6 +111,11 @@ extern "C" { #define CRYPT_MODE_OFB 3 #define CRYPT_MODE_CFB 4 #define CRYPT_MODE_CTS 5 +#define CRYPT_MODE_CBCI 6 +#define CRYPT_MODE_CFBP 7 +#define CRYPT_MODE_OFBP 8 +#define CRYPT_MODE_CBCOFM 9 +#define CRYPT_MODE_CBCOFMI 10 #define CRYPT_ENCRYPT 1 #define CRYPT_DECRYPT 2 #define CRYPT_EXPORT 4 @@ -106,6 +135,19 @@ extern "C" { #define PP_NAME 4 #define PP_VERSION 5 #define PP_CONTAINER 6 +#define PP_ENUMMANDROOTS 25 +#define PP_ENUMELECTROOTS 26 +#define PP_KEYSET_TYPE 27 +#define PP_ADMIN_PIN 31 +#define PP_KEYEXCHANGE_PIN 32 +#define PP_SIGNATURE_PIN 33 +#define PP_SIG_KEYSIZE_INC 34 +#define PP_KEYX_KEYSIZE_INC 35 +#define PP_UNIQUE_CONTAINER 36 +#define PP_SGC_INFO 37 +#define PP_USE_HARDWARE_RNG 38 +#define PP_KEYSPEC 39 +#define PP_ENUMEX_SIGNING_PROT 40 #define CRYPT_FIRST 1 #define CRYPT_NEXT 2 #define CRYPT_IMPL_HARDWARE 1 @@ -123,6 +165,16 @@ extern "C" { #define PROV_STT_BRND 9 #define PROV_STT_ROOT 10 #define PROV_STT_ISS 11 +#define PROV_RSA_SCHANNEL 12 +#define PROV_DSS_DH 13 +#define PROV_EC_ECDSA_SIG 14 +#define PROV_EC_ECNRA_SIG 15 +#define PROV_EC_ECDSA_FULL 16 +#define PROV_EC_ECNRA_FULL 17 +#define PROV_DH_SCHANNEL 18 +#define PROV_SPYRUS_LYNKS 20 +#define PROV_RNG 21 +#define PROV_INTEL_SEC 22 #define MAXUIDLEN 64 #define CUR_BLOB_VERSION 2 #define X509_ASN_ENCODING 1 @@ -228,7 +280,19 @@ extern "C" { #define szOID_SERVER_GATED_CRYPTO "4235658" #define szOID_SGC_NETSCAPE "2.16.840.1.113730.4.1" #define szOID_PKIX_KP_CLIENT_AUTH "1.3.6.1.5.5.7.3.2" + #define CRYPT_NOHASHOID 0x00000001 +#define CRYPT_NO_SALT 0x10 +#define CRYPT_PREGEN 0x40 +#define CRYPT_RECIPIENT 0x10 +#define CRYPT_INITIATOR 0x40 +#define CRYPT_ONLINE 0x80 +#define CRYPT_SF 0x100 +#define CRYPT_CREATE_IV 0x200 +#define CRYPT_KEK 0x400 +#define CRYPT_DATA_KEY 0x800 +#define CRYPT_VOLATILE 0x1000 +#define CRYPT_SGCKEY 0x2000 typedef UINT ALG_ID; typedef struct _VTableProvStruc {FARPROC FuncVerifyImage;} VTableProvStruc,*PVTableProvStruc;