From e7487bfe988c97bbc5ea75f4403f0701f6c1bbdb Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Wed, 31 Mar 2010 07:25:07 -0500 Subject: [PATCH] More constants and functions in windows.advapi32 --- basis/windows/advapi32/advapi32.factor | 346 ++++++++++++++++++++++--- 1 file changed, 310 insertions(+), 36 deletions(-) mode change 100644 => 100755 basis/windows/advapi32/advapi32.factor diff --git a/basis/windows/advapi32/advapi32.factor b/basis/windows/advapi32/advapi32.factor old mode 100644 new mode 100755 index d5fe33b745..72769971e6 --- a/basis/windows/advapi32/advapi32.factor +++ b/basis/windows/advapi32/advapi32.factor @@ -1,28 +1,9 @@ -USING: alien.c-types alien.syntax kernel math windows.types -windows.kernel32 math.bitwise classes.struct ; +USING: alien.c-types alien.syntax classes.struct kernel +literals math math.bitwise windows.kernel32 windows.types ; IN: windows.advapi32 LIBRARY: advapi32 -CONSTANT: PROV_RSA_FULL 1 -CONSTANT: PROV_RSA_SIG 2 -CONSTANT: PROV_DSS 3 -CONSTANT: PROV_FORTEZZA 4 -CONSTANT: PROV_MS_EXCHANGE 5 -CONSTANT: PROV_SSL 6 -CONSTANT: PROV_RSA_SCHANNEL 12 -CONSTANT: PROV_DSS_DH 13 -CONSTANT: PROV_EC_ECDSA_SIG 14 -CONSTANT: PROV_EC_ECNRA_SIG 15 -CONSTANT: PROV_EC_ECDSA_FULL 16 -CONSTANT: PROV_EC_ECNRA_FULL 17 -CONSTANT: PROV_DH_SCHANNEL 18 -CONSTANT: PROV_SPYRUS_LYNKS 20 -CONSTANT: PROV_RNG 21 -CONSTANT: PROV_INTEL_SEC 22 -CONSTANT: PROV_REPLACE_OWF 23 -CONSTANT: PROV_RSA_AES 24 - CONSTANT: MS_DEF_DH_SCHANNEL_PROV "Microsoft DH Schannel Cryptographic Provider" CONSTANT: MS_DEF_DSS_DH_PROV @@ -56,12 +37,6 @@ CONSTANT: MS_SCARD_PROV CONSTANT: MS_STRONG_PROV "Microsoft Strong Cryptographic Provider" -CONSTANT: CRYPT_VERIFYCONTEXT HEX: F0000000 -CONSTANT: CRYPT_NEWKEYSET HEX: 8 -CONSTANT: CRYPT_DELETEKEYSET HEX: 10 -CONSTANT: CRYPT_MACHINE_KEYSET HEX: 20 -CONSTANT: CRYPT_SILENT HEX: 40 - STRUCT: ACL { AclRevision BYTE } { Sbz1 BYTE } @@ -361,18 +336,18 @@ CONSTANT: TOKEN_IMPERSONATE HEX: 0004 CONSTANT: TOKEN_QUERY HEX: 0008 CONSTANT: TOKEN_QUERY_SOURCE HEX: 0010 CONSTANT: TOKEN_ADJUST_DEFAULT HEX: 0080 -: TOKEN_READ ( -- n ) { STANDARD_RIGHTS_READ TOKEN_QUERY } flags ; +CONSTANT: TOKEN_READ flags{ STANDARD_RIGHTS_READ TOKEN_QUERY } -: TOKEN_WRITE ( -- n ) - { +CONSTANT: TOKEN_WRITE + flags{ STANDARD_RIGHTS_WRITE TOKEN_ADJUST_PRIVILEGES TOKEN_ADJUST_GROUPS TOKEN_ADJUST_DEFAULT - } flags ; foldable + } -: TOKEN_ALL_ACCESS ( -- n ) - { +CONSTANT: TOKEN_ALL_ACCESS + flags{ STANDARD_RIGHTS_REQUIRED TOKEN_ASSIGN_PRIMARY TOKEN_DUPLICATE @@ -383,7 +358,7 @@ CONSTANT: TOKEN_ADJUST_DEFAULT HEX: 0080 TOKEN_ADJUST_GROUPS TOKEN_ADJUST_SESSIONID TOKEN_ADJUST_DEFAULT - } flags ; foldable + } CONSTANT: HKEY_CLASSES_ROOT HEX: 80000000 CONSTANT: HKEY_CURRENT_USER HEX: 80000001 @@ -426,6 +401,305 @@ CONSTANT: REG_QWORD_LITTLE_ENDIAN 11 CONSTANT: REG_CREATED_NEW_KEY 1 CONSTANT: REG_OPENED_EXISTING_KEY 2 + + +CONSTANT: ALG_CLASS_ANY 0 +CONSTANT: ALG_CLASS_SIGNATURE 8192 +CONSTANT: ALG_CLASS_MSG_ENCRYPT 16384 +CONSTANT: ALG_CLASS_DATA_ENCRYPT 24576 +CONSTANT: ALG_CLASS_HASH 32768 +CONSTANT: ALG_CLASS_KEY_EXCHANGE 40960 +CONSTANT: ALG_CLASS_ALL 57344 +CONSTANT: ALG_TYPE_ANY 0 +CONSTANT: ALG_TYPE_DSS 512 +CONSTANT: ALG_TYPE_RSA 1024 +CONSTANT: ALG_TYPE_BLOCK 1536 +CONSTANT: ALG_TYPE_STREAM 2048 +CONSTANT: ALG_TYPE_DH 2560 +CONSTANT: ALG_TYPE_SECURECHANNEL 3072 +CONSTANT: ALG_SID_ANY 0 +CONSTANT: ALG_SID_RSA_ANY 0 +CONSTANT: ALG_SID_RSA_PKCS 1 +CONSTANT: ALG_SID_RSA_MSATWORK 2 +CONSTANT: ALG_SID_RSA_ENTRUST 3 +CONSTANT: ALG_SID_RSA_PGP 4 +CONSTANT: ALG_SID_DSS_ANY 0 +CONSTANT: ALG_SID_DSS_PKCS 1 +CONSTANT: ALG_SID_DSS_DMS 2 +CONSTANT: ALG_SID_DES 1 +CONSTANT: ALG_SID_3DES 3 +CONSTANT: ALG_SID_DESX 4 +CONSTANT: ALG_SID_IDEA 5 +CONSTANT: ALG_SID_CAST 6 +CONSTANT: ALG_SID_SAFERSK64 7 +CONSTANT: ALG_SID_SAFERSK128 8 +CONSTANT: ALG_SID_3DES_112 9 +CONSTANT: ALG_SID_SKIPJACK 10 +CONSTANT: ALG_SID_TEK 11 +CONSTANT: ALG_SID_CYLINK_MEK 12 +CONSTANT: ALG_SID_RC5 13 +CONSTANT: ALG_SID_RC2 2 +CONSTANT: ALG_SID_RC4 1 +CONSTANT: ALG_SID_SEAL 2 +CONSTANT: ALG_SID_MD2 1 +CONSTANT: ALG_SID_MD4 2 +CONSTANT: ALG_SID_MD5 3 +CONSTANT: ALG_SID_SHA 4 +CONSTANT: ALG_SID_MAC 5 +CONSTANT: ALG_SID_RIPEMD 6 +CONSTANT: ALG_SID_RIPEMD160 7 +CONSTANT: ALG_SID_SSL3SHAMD5 8 +CONSTANT: ALG_SID_HMAC 9 +CONSTANT: ALG_SID_TLS1PRF 10 +CONSTANT: ALG_SID_EXAMPLE 80 + +CONSTANT: CALG_MD2 flags{ ALG_CLASS_HASH ALG_TYPE_ANY ALG_SID_MD2 } +CONSTANT: CALG_MD4 flags{ ALG_CLASS_HASH ALG_TYPE_ANY ALG_SID_MD4 } +CONSTANT: CALG_MD5 flags{ ALG_CLASS_HASH ALG_TYPE_ANY ALG_SID_MD5 } +CONSTANT: CALG_SHA flags{ ALG_CLASS_HASH ALG_TYPE_ANY ALG_SID_SHA } +CONSTANT: CALG_MAC flags{ ALG_CLASS_HASH ALG_TYPE_ANY ALG_SID_MAC } +CONSTANT: CALG_3DES flags{ ALG_CLASS_DATA_ENCRYPT ALG_TYPE_BLOCK 3 } +CONSTANT: CALG_CYLINK_MEK flags{ ALG_CLASS_DATA_ENCRYPT ALG_TYPE_BLOCK 12 } +CONSTANT: CALG_SKIPJACK flags{ ALG_CLASS_DATA_ENCRYPT ALG_TYPE_BLOCK 10 } +CONSTANT: CALG_KEA_KEYX flags{ ALG_CLASS_KEY_EXCHANGE ALG_TYPE_STREAM ALG_TYPE_DSS 4 } +CONSTANT: CALG_RSA_SIGN flags{ ALG_CLASS_SIGNATURE ALG_TYPE_RSA ALG_SID_RSA_ANY } +CONSTANT: CALG_DSS_SIGN flags{ ALG_CLASS_SIGNATURE ALG_TYPE_DSS ALG_SID_DSS_ANY } +CONSTANT: CALG_RSA_KEYX flags{ ALG_CLASS_KEY_EXCHANGE ALG_TYPE_RSA ALG_SID_RSA_ANY } +CONSTANT: CALG_DES flags{ ALG_CLASS_DATA_ENCRYPT ALG_TYPE_BLOCK ALG_SID_DES } +CONSTANT: CALG_RC2 flags{ ALG_CLASS_DATA_ENCRYPT ALG_TYPE_BLOCK ALG_SID_RC2 } +CONSTANT: CALG_RC4 flags{ ALG_CLASS_DATA_ENCRYPT ALG_TYPE_STREAM ALG_SID_RC4 } +CONSTANT: CALG_SEAL flags{ ALG_CLASS_DATA_ENCRYPT ALG_TYPE_STREAM ALG_SID_SEAL } +CONSTANT: CALG_DH_EPHEM flags{ ALG_CLASS_KEY_EXCHANGE ALG_TYPE_STREAM ALG_TYPE_DSS ALG_SID_DSS_DMS } +CONSTANT: CALG_DESX flags{ ALG_CLASS_DATA_ENCRYPT ALG_TYPE_BLOCK ALG_SID_DESX } +! CONSTANT: CALG_TLS1PRF flags{ ALG_CLASS_DHASH ALG_TYPE_ANY ALG_SID_TLS1PRF } + +CONSTANT: CRYPT_VERIFYCONTEXT HEX: F0000000 +CONSTANT: CRYPT_NEWKEYSET 8 +CONSTANT: CRYPT_DELETEKEYSET 16 +CONSTANT: CRYPT_MACHINE_KEYSET 32 +CONSTANT: CRYPT_SILENT 64 +CONSTANT: CRYPT_EXPORTABLE 1 +CONSTANT: CRYPT_USER_PROTECTED 2 +CONSTANT: CRYPT_CREATE_SALT 4 +CONSTANT: CRYPT_UPDATE_KEY 8 +CONSTANT: AT_KEYEXCHANGE 1 +CONSTANT: AT_SIGNATURE 2 +CONSTANT: CRYPT_USERDATA 1 +CONSTANT: KP_IV 1 +CONSTANT: KP_SALT 2 +CONSTANT: KP_PADDING 3 +CONSTANT: KP_MODE 4 +CONSTANT: KP_MODE_BITS 5 +CONSTANT: KP_PERMISSIONS 6 +CONSTANT: KP_ALGID 7 +CONSTANT: KP_BLOCKLEN 8 +CONSTANT: PKCS5_PADDING 1 +CONSTANT: CRYPT_MODE_CBC 1 +CONSTANT: CRYPT_MODE_ECB 2 +CONSTANT: CRYPT_MODE_OFB 3 +CONSTANT: CRYPT_MODE_CFB 4 +CONSTANT: CRYPT_MODE_CTS 5 +CONSTANT: CRYPT_MODE_CBCI 6 +CONSTANT: CRYPT_MODE_CFBP 7 +CONSTANT: CRYPT_MODE_OFBP 8 +CONSTANT: CRYPT_MODE_CBCOFM 9 +CONSTANT: CRYPT_MODE_CBCOFMI 10 +CONSTANT: CRYPT_ENCRYPT 1 +CONSTANT: CRYPT_DECRYPT 2 +CONSTANT: CRYPT_EXPORT 4 +CONSTANT: CRYPT_READ 8 +CONSTANT: CRYPT_WRITE 16 +CONSTANT: CRYPT_MAC 32 +CONSTANT: HP_ALGID 1 +CONSTANT: HP_HASHVAL 2 +CONSTANT: HP_HASHSIZE 4 +CONSTANT: PP_ENUMALGS 1 +CONSTANT: PP_ENUMCONTAINERS 2 +CONSTANT: PP_IMPTYPE 3 +CONSTANT: PP_NAME 4 +CONSTANT: PP_VERSION 5 +CONSTANT: PP_CONTAINER 6 +CONSTANT: PP_ENUMMANDROOTS 25 +CONSTANT: PP_ENUMELECTROOTS 26 +CONSTANT: PP_KEYSET_TYPE 27 +CONSTANT: PP_ADMIN_PIN 31 +CONSTANT: PP_KEYEXCHANGE_PIN 32 +CONSTANT: PP_SIGNATURE_PIN 33 +CONSTANT: PP_SIG_KEYSIZE_INC 34 +CONSTANT: PP_KEYX_KEYSIZE_INC 35 +CONSTANT: PP_UNIQUE_CONTAINER 36 +CONSTANT: PP_SGC_INFO 37 +CONSTANT: PP_USE_HARDWARE_RNG 38 +CONSTANT: PP_KEYSPEC 39 +CONSTANT: PP_ENUMEX_SIGNING_PROT 40 +CONSTANT: CRYPT_FIRST 1 +CONSTANT: CRYPT_NEXT 2 +CONSTANT: CRYPT_IMPL_HARDWARE 1 +CONSTANT: CRYPT_IMPL_SOFTWARE 2 +CONSTANT: CRYPT_IMPL_MIXED 3 +CONSTANT: CRYPT_IMPL_UNKNOWN 4 +CONSTANT: PROV_RSA_FULL 1 +CONSTANT: PROV_RSA_SIG 2 +CONSTANT: PROV_DSS 3 +CONSTANT: PROV_FORTEZZA 4 +CONSTANT: PROV_MS_MAIL 5 +CONSTANT: PROV_SSL 6 +CONSTANT: PROV_STT_MER 7 +CONSTANT: PROV_STT_ACQ 8 +CONSTANT: PROV_STT_BRND 9 +CONSTANT: PROV_STT_ROOT 10 +CONSTANT: PROV_STT_ISS 11 +CONSTANT: PROV_RSA_SCHANNEL 12 +CONSTANT: PROV_DSS_DH 13 +CONSTANT: PROV_EC_ECDSA_SIG 14 +CONSTANT: PROV_EC_ECNRA_SIG 15 +CONSTANT: PROV_EC_ECDSA_FULL 16 +CONSTANT: PROV_EC_ECNRA_FULL 17 +CONSTANT: PROV_DH_SCHANNEL 18 +CONSTANT: PROV_SPYRUS_LYNKS 20 +CONSTANT: PROV_RNG 21 +CONSTANT: PROV_INTEL_SEC 22 +CONSTANT: PROV_REPLACE_OWF 23 +CONSTANT: PROV_RSA_AES 24 +CONSTANT: MAXUIDLEN 64 +CONSTANT: CUR_BLOB_VERSION 2 +CONSTANT: X509_ASN_ENCODING 1 +CONSTANT: PKCS_7_ASN_ENCODING 65536 +CONSTANT: CERT_V1 0 +CONSTANT: CERT_V2 1 +CONSTANT: CERT_V3 2 +CONSTANT: CERT_E_CHAINING -2146762486 +CONSTANT: CERT_E_CN_NO_MATCH -2146762481 +CONSTANT: CERT_E_EXPIRED -2146762495 +CONSTANT: CERT_E_PURPOSE -2146762490 +CONSTANT: CERT_E_REVOCATION_FAILURE -2146762482 +CONSTANT: CERT_E_REVOKED -2146762484 +CONSTANT: CERT_E_ROLE -2146762493 +CONSTANT: CERT_E_UNTRUSTEDROOT -2146762487 +CONSTANT: CERT_E_UNTRUSTEDTESTROOT -2146762483 +CONSTANT: CERT_E_VALIDITYPERIODNESTING -2146762494 +CONSTANT: CERT_E_WRONG_USAGE -2146762480 +CONSTANT: CERT_E_PATHLENCONST -2146762492 +CONSTANT: CERT_E_CRITICAL -2146762491 +CONSTANT: CERT_E_ISSUERCHAINING -2146762489 +CONSTANT: CERT_E_MALFORMED -2146762488 +CONSTANT: CRYPT_E_REVOCATION_OFFLINE -2146885613 +CONSTANT: CRYPT_E_REVOKED -2146885616 +CONSTANT: TRUST_E_BASIC_CONSTRAINTS -2146869223 +CONSTANT: TRUST_E_CERT_SIGNATURE -2146869244 +CONSTANT: TRUST_E_FAIL -2146762485 +CONSTANT: CERT_TRUST_NO_ERROR 0 +CONSTANT: CERT_TRUST_IS_NOT_TIME_VALID 1 +CONSTANT: CERT_TRUST_IS_NOT_TIME_NESTED 2 +CONSTANT: CERT_TRUST_IS_REVOKED 4 +CONSTANT: CERT_TRUST_IS_NOT_SIGNATURE_VALID 8 +CONSTANT: CERT_TRUST_IS_NOT_VALID_FOR_USAGE 16 +CONSTANT: CERT_TRUST_IS_UNTRUSTED_ROOT 32 +CONSTANT: CERT_TRUST_REVOCATION_STATUS_UNKNOWN 64 +CONSTANT: CERT_TRUST_IS_CYCLIC 128 +CONSTANT: CERT_TRUST_IS_PARTIAL_CHAIN 65536 +CONSTANT: CERT_TRUST_CTL_IS_NOT_TIME_VALID 131072 +CONSTANT: CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID 262144 +CONSTANT: CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE 524288 +CONSTANT: CERT_TRUST_HAS_EXACT_MATCH_ISSUER 1 +CONSTANT: CERT_TRUST_HAS_KEY_MATCH_ISSUER 2 +CONSTANT: CERT_TRUST_HAS_NAME_MATCH_ISSUER 4 +CONSTANT: CERT_TRUST_IS_SELF_SIGNED 8 +CONSTANT: CERT_TRUST_IS_COMPLEX_CHAIN 65536 +CONSTANT: CERT_CHAIN_POLICY_BASE 1 +CONSTANT: CERT_CHAIN_POLICY_AUTHENTICODE 2 +CONSTANT: CERT_CHAIN_POLICY_AUTHENTICODE_TS 3 +CONSTANT: CERT_CHAIN_POLICY_SSL 4 +CONSTANT: CERT_CHAIN_POLICY_BASIC_CONSTRAINTS 5 +CONSTANT: CERT_CHAIN_POLICY_NT_AUTH 6 +CONSTANT: USAGE_MATCH_TYPE_AND 0 +CONSTANT: USAGE_MATCH_TYPE_OR 1 +CONSTANT: CERT_SIMPLE_NAME_STR 1 +CONSTANT: CERT_OID_NAME_STR 2 +CONSTANT: CERT_X500_NAME_STR 3 +CONSTANT: CERT_NAME_STR_SEMICOLON_FLAG 1073741824 +CONSTANT: CERT_NAME_STR_CRLF_FLAG 134217728 +CONSTANT: CERT_NAME_STR_NO_PLUS_FLAG 536870912 +CONSTANT: CERT_NAME_STR_NO_QUOTING_FLAG 268435456 +CONSTANT: CERT_NAME_STR_REVERSE_FLAG 33554432 +CONSTANT: CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG 131072 +CONSTANT: CERT_FIND_ANY 0 +CONSTANT: CERT_FIND_CERT_ID 1048576 +CONSTANT: CERT_FIND_CTL_USAGE 655360 +CONSTANT: CERT_FIND_ENHKEY_USAGE 655360 +CONSTANT: CERT_FIND_EXISTING 851968 +CONSTANT: CERT_FIND_HASH 65536 +CONSTANT: CERT_FIND_ISSUER_ATTR 196612 +CONSTANT: CERT_FIND_ISSUER_NAME 131076 +CONSTANT: CERT_FIND_ISSUER_OF 786432 +CONSTANT: CERT_FIND_KEY_IDENTIFIER 983040 +CONSTANT: CERT_FIND_KEY_SPEC 589824 +CONSTANT: CERT_FIND_MD5_HASH 262144 +CONSTANT: CERT_FIND_PROPERTY 327680 +CONSTANT: CERT_FIND_PUBLIC_KEY 393216 +CONSTANT: CERT_FIND_SHA1_HASH 65536 +CONSTANT: CERT_FIND_SIGNATURE_HASH 917504 +CONSTANT: CERT_FIND_SUBJECT_ATTR 196615 +CONSTANT: CERT_FIND_SUBJECT_CERT 720896 +CONSTANT: CERT_FIND_SUBJECT_NAME 131079 +CONSTANT: CERT_FIND_SUBJECT_STR_A 458759 +CONSTANT: CERT_FIND_SUBJECT_STR_W 524295 +CONSTANT: CERT_FIND_ISSUER_STR_A 458756 +CONSTANT: CERT_FIND_ISSUER_STR_W 524292 +CONSTANT: CERT_FIND_OR_ENHKEY_USAGE_FLAG 16 +CONSTANT: CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG 1 +CONSTANT: CERT_FIND_NO_ENHKEY_USAGE_FLAG 8 +CONSTANT: CERT_FIND_VALID_ENHKEY_USAGE_FLAG 32 +CONSTANT: CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG 2 +CONSTANT: CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG 2 +CONSTANT: CERT_UNICODE_IS_RDN_ATTRS_FLAG 1 +CONSTANT: CERT_CHAIN_FIND_BY_ISSUER 1 +CONSTANT: CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG 1 +CONSTANT: CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG 2 +CONSTANT: CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG 32768 +CONSTANT: CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG 4 +CONSTANT: CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG 8 +CONSTANT: CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG 16384 +CONSTANT: CERT_STORE_PROV_SYSTEM 10 +CONSTANT: CERT_SYSTEM_STORE_LOCAL_MACHINE 131072 +CONSTANT: szOID_PKIX_KP_SERVER_AUTH "4235600" +CONSTANT: szOID_SERVER_GATED_CRYPTO "4235658" +CONSTANT: szOID_SGC_NETSCAPE "2.16.840.1.113730.4.1" +CONSTANT: szOID_PKIX_KP_CLIENT_AUTH "1.3.6.1.5.5.7.3.2" + +CONSTANT: CRYPT_NOHASHOID HEX: 00000001 +CONSTANT: CRYPT_NO_SALT HEX: 10 +CONSTANT: CRYPT_PREGEN HEX: 40 +CONSTANT: CRYPT_RECIPIENT HEX: 10 +CONSTANT: CRYPT_INITIATOR HEX: 40 +CONSTANT: CRYPT_ONLINE HEX: 80 +CONSTANT: CRYPT_SF HEX: 100 +CONSTANT: CRYPT_CREATE_IV HEX: 200 +CONSTANT: CRYPT_KEK HEX: 400 +CONSTANT: CRYPT_DATA_KEY HEX: 800 +CONSTANT: CRYPT_VOLATILE HEX: 1000 +CONSTANT: CRYPT_SGCKEY HEX: 2000 + +CONSTANT: KEYSTATEBLOB HEX: C +CONSTANT: OPAQUEKEYBLOB HEX: 9 +CONSTANT: PLAINTEXTKEYBLOB HEX: 8 +CONSTANT: PRIVATEKEYBLOB HEX: 7 +CONSTANT: PUBLICKEYBLOB HEX: 6 +CONSTANT: PUBLICKEYBLOBEX HEX: A +CONSTANT: SIMPLEBLOB HEX: 1 +CONSTANT: SYMMETRICWRAPKEYBLOB HEX: B + +TYPEDEF: uint ALG_ID + +STRUCT: PUBLICKEYSTRUC + { bType BYTE } + { bVersion BYTE } + { reserved WORD } + { aiKeyAlg ALG_ID } ; + +TYPEDEF: PUBLICKEYSTRUC BLOBHEADER +TYPEDEF: LONG HCRYPTHASH +TYPEDEF: LONG HCRYPTKEY TYPEDEF: DWORD REGSAM ! : I_ScGetCurrentGroupStateW ; @@ -590,7 +864,7 @@ FUNCTION: BOOL CryptAcquireContextW ( HCRYPTPROV* phProv, ALIAS: CryptAcquireContext CryptAcquireContextW ! : CryptContextAddRef ; -! : CryptCreateHash ; +FUNCTION: BOOL CryptCreateHash ( HCRYPTPROV hProv, ALG_ID Algid, HCRYPTKEY hKey, DWORD dwFlags, HCRYPTHASH *pHash ) ; ! : CryptDecrypt ; ! : CryptDeriveKey ; ! : CryptDestroyHash ; @@ -613,7 +887,7 @@ FUNCTION: BOOL CryptGenRandom ( HCRYPTPROV hProv, DWORD dwLen, BYTE* pbBuffer ) ! : CryptGetUserKey ; ! : CryptHashData ; ! : CryptHashSessionKey ; -! : CryptImportKey ; +FUNCTION: BOOL CryptImportKey ( HCRYPTPROV hProv, BYTE *pbData, DWORD dwDataLen, HCRYPTKEY hPubKey, DWORD dwFlags, HCRYPTKEY *phKey ) ; FUNCTION: BOOL CryptReleaseContext ( HCRYPTPROV hProv, DWORD dwFlags ) ; ! : CryptSetHashParam ; ! : CryptSetKeyParam ; -- 2.34.1