Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Interop.BCrypt Class Reference

Classes

struct  BCRYPT_AUTHENTICATED_CIPHER_MODE_INFO
 
struct  BCRYPT_DSA_KEY_BLOB
 
struct  BCRYPT_DSA_KEY_BLOB_V2
 
struct  BCRYPT_ECC_PARAMETER_HEADER
 
struct  BCRYPT_ECCFULLKEY_BLOB
 
struct  BCRYPT_ECCKEY_BLOB
 
struct  BCRYPT_KEY_DATA_BLOB_HEADER
 
struct  BCRYPT_OAEP_PADDING_INFO
 
struct  BCRYPT_PKCS1_PADDING_INFO
 
struct  BCRYPT_PSS_PADDING_INFO
 
struct  BCRYPT_RSAKEY_BLOB
 
class  BCryptAlgorithmCache
 
struct  BCryptBuffer
 
struct  BCryptBufferDesc
 

Public Types

enum  HASHALGORITHM_ENUM {
  DSA_HASH_ALGORITHM_SHA1 , DSA_HASH_ALGORITHM_SHA256 , DSA_HASH_ALGORITHM_SHA512 , DSA_HASH_ALGORITHM_SHA1 ,
  DSA_HASH_ALGORITHM_SHA256 , DSA_HASH_ALGORITHM_SHA512
}
 
enum  DSAFIPSVERSION_ENUM { DSA_FIPS186_2 , DSA_FIPS186_3 , DSA_FIPS186_2 , DSA_FIPS186_3 }
 
enum  BCryptAlgPseudoHandle : uint {
  BCRYPT_MD5_ALG_HANDLE = 33u , BCRYPT_SHA1_ALG_HANDLE = 49u , BCRYPT_SHA256_ALG_HANDLE = 65u , BCRYPT_SHA384_ALG_HANDLE = 81u ,
  BCRYPT_SHA512_ALG_HANDLE = 97u , BCRYPT_HMAC_MD5_ALG_HANDLE = 145u , BCRYPT_HMAC_SHA1_ALG_HANDLE = 161u , BCRYPT_HMAC_SHA256_ALG_HANDLE = 177u ,
  BCRYPT_HMAC_SHA384_ALG_HANDLE = 193u , BCRYPT_HMAC_SHA512_ALG_HANDLE = 209u , BCRYPT_PBKDF2_ALG_HANDLE = 817u
}
 
enum  HASHALGORITHM_ENUM {
  DSA_HASH_ALGORITHM_SHA1 , DSA_HASH_ALGORITHM_SHA256 , DSA_HASH_ALGORITHM_SHA512 , DSA_HASH_ALGORITHM_SHA1 ,
  DSA_HASH_ALGORITHM_SHA256 , DSA_HASH_ALGORITHM_SHA512
}
 
enum  DSAFIPSVERSION_ENUM { DSA_FIPS186_2 , DSA_FIPS186_3 , DSA_FIPS186_2 , DSA_FIPS186_3 }
 

Public Member Functions

static unsafe NTSTATUS BCryptEncrypt (SafeKeyHandle hKey, byte *pbInput, int cbInput, IntPtr paddingInfo, [In][Out] byte[] pbIV, int cbIV, byte *pbOutput, int cbOutput, out int cbResult, int dwFlags)
 
static unsafe NTSTATUS BCryptDecrypt (SafeKeyHandle hKey, byte *pbInput, int cbInput, IntPtr paddingInfo, [In][Out] byte[] pbIV, int cbIV, byte *pbOutput, int cbOutput, out int cbResult, int dwFlags)
 
static unsafe NTSTATUS BCryptEncrypt (Internal.NativeCrypto.SafeKeyHandle hKey, byte *pbInput, int cbInput, IntPtr paddingInfo, [In][Out] byte[] pbIV, int cbIV, byte *pbOutput, int cbOutput, out int cbResult, int dwFlags)
 
static unsafe NTSTATUS BCryptDecrypt (Internal.NativeCrypto.SafeKeyHandle hKey, byte *pbInput, int cbInput, IntPtr paddingInfo, [In][Out] byte[] pbIV, int cbIV, byte *pbOutput, int cbOutput, out int cbResult, int dwFlags)
 

Package Types

enum  NTSTATUS : uint {
  STATUS_SUCCESS = 0u , STATUS_NOT_FOUND = 3221226021u , STATUS_INVALID_PARAMETER = 3221225485u , STATUS_NO_MEMORY = 3221225495u ,
  STATUS_AUTH_TAG_MISMATCH = 3221266434u , STATUS_SUCCESS = 0u , STATUS_NOT_FOUND = 3221226021u , STATUS_INVALID_PARAMETER = 3221225485u ,
  STATUS_NO_MEMORY = 3221225495u , STATUS_AUTH_TAG_MISMATCH = 3221266434u , STATUS_SUCCESS = 0u , STATUS_NOT_FOUND = 3221226021u ,
  STATUS_INVALID_PARAMETER = 3221225485u , STATUS_NO_MEMORY = 3221225495u , STATUS_AUTH_TAG_MISMATCH = 3221266434u , STATUS_SUCCESS = 0u ,
  STATUS_NOT_FOUND = 3221226021u , STATUS_INVALID_PARAMETER = 3221225485u , STATUS_NO_MEMORY = 3221225495u , STATUS_AUTH_TAG_MISMATCH = 3221266434u
}
 
enum  NTSTATUS : uint {
  STATUS_SUCCESS = 0u , STATUS_NOT_FOUND = 3221226021u , STATUS_INVALID_PARAMETER = 3221225485u , STATUS_NO_MEMORY = 3221225495u ,
  STATUS_AUTH_TAG_MISMATCH = 3221266434u , STATUS_SUCCESS = 0u , STATUS_NOT_FOUND = 3221226021u , STATUS_INVALID_PARAMETER = 3221225485u ,
  STATUS_NO_MEMORY = 3221225495u , STATUS_AUTH_TAG_MISMATCH = 3221266434u , STATUS_SUCCESS = 0u , STATUS_NOT_FOUND = 3221226021u ,
  STATUS_INVALID_PARAMETER = 3221225485u , STATUS_NO_MEMORY = 3221225495u , STATUS_AUTH_TAG_MISMATCH = 3221266434u , STATUS_SUCCESS = 0u ,
  STATUS_NOT_FOUND = 3221226021u , STATUS_INVALID_PARAMETER = 3221225485u , STATUS_NO_MEMORY = 3221225495u , STATUS_AUTH_TAG_MISMATCH = 3221266434u
}
 
enum  KeyBlobMagicNumber {
  BCRYPT_DSA_PUBLIC_MAGIC = 1112560452 , BCRYPT_DSA_PRIVATE_MAGIC = 1448104772 , BCRYPT_DSA_PUBLIC_MAGIC_V2 = 843206724 , BCRYPT_DSA_PRIVATE_MAGIC_V2 = 844517444 ,
  BCRYPT_ECDH_PUBLIC_P256_MAGIC = 827016005 , BCRYPT_ECDH_PRIVATE_P256_MAGIC = 843793221 , BCRYPT_ECDH_PUBLIC_P384_MAGIC = 860570437 , BCRYPT_ECDH_PRIVATE_P384_MAGIC = 877347653 ,
  BCRYPT_ECDH_PUBLIC_P521_MAGIC = 894124869 , BCRYPT_ECDH_PRIVATE_P521_MAGIC = 910902085 , BCRYPT_ECDH_PUBLIC_GENERIC_MAGIC = 1347109701 , BCRYPT_ECDH_PRIVATE_GENERIC_MAGIC = 1447772997 ,
  BCRYPT_ECDSA_PUBLIC_P256_MAGIC = 827540293 , BCRYPT_ECDSA_PRIVATE_P256_MAGIC = 844317509 , BCRYPT_ECDSA_PUBLIC_P384_MAGIC = 861094725 , BCRYPT_ECDSA_PRIVATE_P384_MAGIC = 877871941 ,
  BCRYPT_ECDSA_PUBLIC_P521_MAGIC = 894649157 , BCRYPT_ECDSA_PRIVATE_P521_MAGIC = 911426373 , BCRYPT_ECDSA_PUBLIC_GENERIC_MAGIC = 1346650949 , BCRYPT_ECDSA_PRIVATE_GENERIC_MAGIC = 1447314245 ,
  BCRYPT_RSAPUBLIC_MAGIC = 826364754 , BCRYPT_RSAPRIVATE_MAGIC = 843141970 , BCRYPT_RSAFULLPRIVATE_MAGIC = 859919186 , BCRYPT_KEY_DATA_BLOB_MAGIC = 1296188491 ,
  BCRYPT_DSA_PUBLIC_MAGIC = 1112560452 , BCRYPT_DSA_PRIVATE_MAGIC = 1448104772 , BCRYPT_DSA_PUBLIC_MAGIC_V2 = 843206724 , BCRYPT_DSA_PRIVATE_MAGIC_V2 = 844517444 ,
  BCRYPT_ECDH_PUBLIC_P256_MAGIC = 827016005 , BCRYPT_ECDH_PRIVATE_P256_MAGIC = 843793221 , BCRYPT_ECDH_PUBLIC_P384_MAGIC = 860570437 , BCRYPT_ECDH_PRIVATE_P384_MAGIC = 877347653 ,
  BCRYPT_ECDH_PUBLIC_P521_MAGIC = 894124869 , BCRYPT_ECDH_PRIVATE_P521_MAGIC = 910902085 , BCRYPT_ECDH_PUBLIC_GENERIC_MAGIC = 1347109701 , BCRYPT_ECDH_PRIVATE_GENERIC_MAGIC = 1447772997 ,
  BCRYPT_ECDSA_PUBLIC_P256_MAGIC = 827540293 , BCRYPT_ECDSA_PRIVATE_P256_MAGIC = 844317509 , BCRYPT_ECDSA_PUBLIC_P384_MAGIC = 861094725 , BCRYPT_ECDSA_PRIVATE_P384_MAGIC = 877871941 ,
  BCRYPT_ECDSA_PUBLIC_P521_MAGIC = 894649157 , BCRYPT_ECDSA_PRIVATE_P521_MAGIC = 911426373 , BCRYPT_ECDSA_PUBLIC_GENERIC_MAGIC = 1346650949 , BCRYPT_ECDSA_PRIVATE_GENERIC_MAGIC = 1447314245 ,
  BCRYPT_RSAPUBLIC_MAGIC = 826364754 , BCRYPT_RSAPRIVATE_MAGIC = 843141970 , BCRYPT_RSAFULLPRIVATE_MAGIC = 859919186 , BCRYPT_KEY_DATA_BLOB_MAGIC = 1296188491 ,
  BCRYPT_DSA_PUBLIC_MAGIC = 1112560452 , BCRYPT_DSA_PRIVATE_MAGIC = 1448104772 , BCRYPT_DSA_PUBLIC_MAGIC_V2 = 843206724 , BCRYPT_DSA_PRIVATE_MAGIC_V2 = 844517444 ,
  BCRYPT_ECDH_PUBLIC_P256_MAGIC = 827016005 , BCRYPT_ECDH_PRIVATE_P256_MAGIC = 843793221 , BCRYPT_ECDH_PUBLIC_P384_MAGIC = 860570437 , BCRYPT_ECDH_PRIVATE_P384_MAGIC = 877347653 ,
  BCRYPT_ECDH_PUBLIC_P521_MAGIC = 894124869 , BCRYPT_ECDH_PRIVATE_P521_MAGIC = 910902085 , BCRYPT_ECDH_PUBLIC_GENERIC_MAGIC = 1347109701 , BCRYPT_ECDH_PRIVATE_GENERIC_MAGIC = 1447772997 ,
  BCRYPT_ECDSA_PUBLIC_P256_MAGIC = 827540293 , BCRYPT_ECDSA_PRIVATE_P256_MAGIC = 844317509 , BCRYPT_ECDSA_PUBLIC_P384_MAGIC = 861094725 , BCRYPT_ECDSA_PRIVATE_P384_MAGIC = 877871941 ,
  BCRYPT_ECDSA_PUBLIC_P521_MAGIC = 894649157 , BCRYPT_ECDSA_PRIVATE_P521_MAGIC = 911426373 , BCRYPT_ECDSA_PUBLIC_GENERIC_MAGIC = 1346650949 , BCRYPT_ECDSA_PRIVATE_GENERIC_MAGIC = 1447314245 ,
  BCRYPT_RSAPUBLIC_MAGIC = 826364754 , BCRYPT_RSAPRIVATE_MAGIC = 843141970 , BCRYPT_RSAFULLPRIVATE_MAGIC = 859919186 , BCRYPT_KEY_DATA_BLOB_MAGIC = 1296188491
}
 
enum  ECC_CURVE_TYPE_ENUM {
  BCRYPT_ECC_PRIME_SHORT_WEIERSTRASS_CURVE = 1 , BCRYPT_ECC_PRIME_TWISTED_EDWARDS_CURVE , BCRYPT_ECC_PRIME_MONTGOMERY_CURVE , BCRYPT_ECC_PRIME_SHORT_WEIERSTRASS_CURVE = 1 ,
  BCRYPT_ECC_PRIME_TWISTED_EDWARDS_CURVE , BCRYPT_ECC_PRIME_MONTGOMERY_CURVE
}
 
enum  ECC_CURVE_ALG_ID_ENUM { BCRYPT_NO_CURVE_GENERATION_ALG_ID , BCRYPT_NO_CURVE_GENERATION_ALG_ID }
 
enum  CngBufferDescriptors {
  KDF_HASH_ALGORITHM = 0 , KDF_SECRET_PREPEND = 1 , KDF_SECRET_APPEND = 2 , KDF_HMAC_KEY = 3 ,
  KDF_TLS_PRF_LABEL = 4 , KDF_TLS_PRF_SEED = 5 , KDF_SECRET_HANDLE = 6 , KDF_TLS_PRF_PROTOCOL = 7 ,
  KDF_ALGORITHMID = 8 , KDF_PARTYUINFO = 9 , KDF_PARTYVINFO = 10 , KDF_SUPPPUBINFO = 11 ,
  KDF_SUPPPRIVINFO = 12 , KDF_LABEL = 13 , KDF_CONTEXT = 14 , KDF_SALT = 15 ,
  KDF_ITERATION_COUNT = 16 , NCRYPTBUFFER_ECC_CURVE_NAME = 60 , KDF_HASH_ALGORITHM = 0 , KDF_SECRET_PREPEND = 1 ,
  KDF_SECRET_APPEND = 2 , KDF_HMAC_KEY = 3 , KDF_TLS_PRF_LABEL = 4 , KDF_TLS_PRF_SEED = 5 ,
  KDF_SECRET_HANDLE = 6 , KDF_TLS_PRF_PROTOCOL = 7 , KDF_ALGORITHMID = 8 , KDF_PARTYUINFO = 9 ,
  KDF_PARTYVINFO = 10 , KDF_SUPPPUBINFO = 11 , KDF_SUPPPRIVINFO = 12 , KDF_LABEL = 13 ,
  KDF_CONTEXT = 14 , KDF_SALT = 15 , KDF_ITERATION_COUNT = 16 , NCRYPTBUFFER_ECC_CURVE_NAME = 60
}
 
enum  BCryptOpenAlgorithmProviderFlags { None = 0 , BCRYPT_ALG_HANDLE_HMAC_FLAG = 8 , None = 0 , BCRYPT_ALG_HANDLE_HMAC_FLAG = 8 }
 
enum  BCryptCreateHashFlags { None = 0 , BCRYPT_HASH_REUSABLE_FLAG = 0x20 , None = 0 , BCRYPT_HASH_REUSABLE_FLAG = 0x20 }
 
enum  NTSTATUS : uint {
  STATUS_SUCCESS = 0u , STATUS_NOT_FOUND = 3221226021u , STATUS_INVALID_PARAMETER = 3221225485u , STATUS_NO_MEMORY = 3221225495u ,
  STATUS_AUTH_TAG_MISMATCH = 3221266434u , STATUS_SUCCESS = 0u , STATUS_NOT_FOUND = 3221226021u , STATUS_INVALID_PARAMETER = 3221225485u ,
  STATUS_NO_MEMORY = 3221225495u , STATUS_AUTH_TAG_MISMATCH = 3221266434u , STATUS_SUCCESS = 0u , STATUS_NOT_FOUND = 3221226021u ,
  STATUS_INVALID_PARAMETER = 3221225485u , STATUS_NO_MEMORY = 3221225495u , STATUS_AUTH_TAG_MISMATCH = 3221266434u , STATUS_SUCCESS = 0u ,
  STATUS_NOT_FOUND = 3221226021u , STATUS_INVALID_PARAMETER = 3221225485u , STATUS_NO_MEMORY = 3221225495u , STATUS_AUTH_TAG_MISMATCH = 3221266434u
}
 
enum  KeyBlobMagicNumber {
  BCRYPT_DSA_PUBLIC_MAGIC = 1112560452 , BCRYPT_DSA_PRIVATE_MAGIC = 1448104772 , BCRYPT_DSA_PUBLIC_MAGIC_V2 = 843206724 , BCRYPT_DSA_PRIVATE_MAGIC_V2 = 844517444 ,
  BCRYPT_ECDH_PUBLIC_P256_MAGIC = 827016005 , BCRYPT_ECDH_PRIVATE_P256_MAGIC = 843793221 , BCRYPT_ECDH_PUBLIC_P384_MAGIC = 860570437 , BCRYPT_ECDH_PRIVATE_P384_MAGIC = 877347653 ,
  BCRYPT_ECDH_PUBLIC_P521_MAGIC = 894124869 , BCRYPT_ECDH_PRIVATE_P521_MAGIC = 910902085 , BCRYPT_ECDH_PUBLIC_GENERIC_MAGIC = 1347109701 , BCRYPT_ECDH_PRIVATE_GENERIC_MAGIC = 1447772997 ,
  BCRYPT_ECDSA_PUBLIC_P256_MAGIC = 827540293 , BCRYPT_ECDSA_PRIVATE_P256_MAGIC = 844317509 , BCRYPT_ECDSA_PUBLIC_P384_MAGIC = 861094725 , BCRYPT_ECDSA_PRIVATE_P384_MAGIC = 877871941 ,
  BCRYPT_ECDSA_PUBLIC_P521_MAGIC = 894649157 , BCRYPT_ECDSA_PRIVATE_P521_MAGIC = 911426373 , BCRYPT_ECDSA_PUBLIC_GENERIC_MAGIC = 1346650949 , BCRYPT_ECDSA_PRIVATE_GENERIC_MAGIC = 1447314245 ,
  BCRYPT_RSAPUBLIC_MAGIC = 826364754 , BCRYPT_RSAPRIVATE_MAGIC = 843141970 , BCRYPT_RSAFULLPRIVATE_MAGIC = 859919186 , BCRYPT_KEY_DATA_BLOB_MAGIC = 1296188491 ,
  BCRYPT_DSA_PUBLIC_MAGIC = 1112560452 , BCRYPT_DSA_PRIVATE_MAGIC = 1448104772 , BCRYPT_DSA_PUBLIC_MAGIC_V2 = 843206724 , BCRYPT_DSA_PRIVATE_MAGIC_V2 = 844517444 ,
  BCRYPT_ECDH_PUBLIC_P256_MAGIC = 827016005 , BCRYPT_ECDH_PRIVATE_P256_MAGIC = 843793221 , BCRYPT_ECDH_PUBLIC_P384_MAGIC = 860570437 , BCRYPT_ECDH_PRIVATE_P384_MAGIC = 877347653 ,
  BCRYPT_ECDH_PUBLIC_P521_MAGIC = 894124869 , BCRYPT_ECDH_PRIVATE_P521_MAGIC = 910902085 , BCRYPT_ECDH_PUBLIC_GENERIC_MAGIC = 1347109701 , BCRYPT_ECDH_PRIVATE_GENERIC_MAGIC = 1447772997 ,
  BCRYPT_ECDSA_PUBLIC_P256_MAGIC = 827540293 , BCRYPT_ECDSA_PRIVATE_P256_MAGIC = 844317509 , BCRYPT_ECDSA_PUBLIC_P384_MAGIC = 861094725 , BCRYPT_ECDSA_PRIVATE_P384_MAGIC = 877871941 ,
  BCRYPT_ECDSA_PUBLIC_P521_MAGIC = 894649157 , BCRYPT_ECDSA_PRIVATE_P521_MAGIC = 911426373 , BCRYPT_ECDSA_PUBLIC_GENERIC_MAGIC = 1346650949 , BCRYPT_ECDSA_PRIVATE_GENERIC_MAGIC = 1447314245 ,
  BCRYPT_RSAPUBLIC_MAGIC = 826364754 , BCRYPT_RSAPRIVATE_MAGIC = 843141970 , BCRYPT_RSAFULLPRIVATE_MAGIC = 859919186 , BCRYPT_KEY_DATA_BLOB_MAGIC = 1296188491 ,
  BCRYPT_DSA_PUBLIC_MAGIC = 1112560452 , BCRYPT_DSA_PRIVATE_MAGIC = 1448104772 , BCRYPT_DSA_PUBLIC_MAGIC_V2 = 843206724 , BCRYPT_DSA_PRIVATE_MAGIC_V2 = 844517444 ,
  BCRYPT_ECDH_PUBLIC_P256_MAGIC = 827016005 , BCRYPT_ECDH_PRIVATE_P256_MAGIC = 843793221 , BCRYPT_ECDH_PUBLIC_P384_MAGIC = 860570437 , BCRYPT_ECDH_PRIVATE_P384_MAGIC = 877347653 ,
  BCRYPT_ECDH_PUBLIC_P521_MAGIC = 894124869 , BCRYPT_ECDH_PRIVATE_P521_MAGIC = 910902085 , BCRYPT_ECDH_PUBLIC_GENERIC_MAGIC = 1347109701 , BCRYPT_ECDH_PRIVATE_GENERIC_MAGIC = 1447772997 ,
  BCRYPT_ECDSA_PUBLIC_P256_MAGIC = 827540293 , BCRYPT_ECDSA_PRIVATE_P256_MAGIC = 844317509 , BCRYPT_ECDSA_PUBLIC_P384_MAGIC = 861094725 , BCRYPT_ECDSA_PRIVATE_P384_MAGIC = 877871941 ,
  BCRYPT_ECDSA_PUBLIC_P521_MAGIC = 894649157 , BCRYPT_ECDSA_PRIVATE_P521_MAGIC = 911426373 , BCRYPT_ECDSA_PUBLIC_GENERIC_MAGIC = 1346650949 , BCRYPT_ECDSA_PRIVATE_GENERIC_MAGIC = 1447314245 ,
  BCRYPT_RSAPUBLIC_MAGIC = 826364754 , BCRYPT_RSAPRIVATE_MAGIC = 843141970 , BCRYPT_RSAFULLPRIVATE_MAGIC = 859919186 , BCRYPT_KEY_DATA_BLOB_MAGIC = 1296188491
}
 
enum  ECC_CURVE_TYPE_ENUM {
  BCRYPT_ECC_PRIME_SHORT_WEIERSTRASS_CURVE = 1 , BCRYPT_ECC_PRIME_TWISTED_EDWARDS_CURVE , BCRYPT_ECC_PRIME_MONTGOMERY_CURVE , BCRYPT_ECC_PRIME_SHORT_WEIERSTRASS_CURVE = 1 ,
  BCRYPT_ECC_PRIME_TWISTED_EDWARDS_CURVE , BCRYPT_ECC_PRIME_MONTGOMERY_CURVE
}
 
enum  ECC_CURVE_ALG_ID_ENUM { BCRYPT_NO_CURVE_GENERATION_ALG_ID , BCRYPT_NO_CURVE_GENERATION_ALG_ID }
 
enum  CngBufferDescriptors {
  KDF_HASH_ALGORITHM = 0 , KDF_SECRET_PREPEND = 1 , KDF_SECRET_APPEND = 2 , KDF_HMAC_KEY = 3 ,
  KDF_TLS_PRF_LABEL = 4 , KDF_TLS_PRF_SEED = 5 , KDF_SECRET_HANDLE = 6 , KDF_TLS_PRF_PROTOCOL = 7 ,
  KDF_ALGORITHMID = 8 , KDF_PARTYUINFO = 9 , KDF_PARTYVINFO = 10 , KDF_SUPPPUBINFO = 11 ,
  KDF_SUPPPRIVINFO = 12 , KDF_LABEL = 13 , KDF_CONTEXT = 14 , KDF_SALT = 15 ,
  KDF_ITERATION_COUNT = 16 , NCRYPTBUFFER_ECC_CURVE_NAME = 60 , KDF_HASH_ALGORITHM = 0 , KDF_SECRET_PREPEND = 1 ,
  KDF_SECRET_APPEND = 2 , KDF_HMAC_KEY = 3 , KDF_TLS_PRF_LABEL = 4 , KDF_TLS_PRF_SEED = 5 ,
  KDF_SECRET_HANDLE = 6 , KDF_TLS_PRF_PROTOCOL = 7 , KDF_ALGORITHMID = 8 , KDF_PARTYUINFO = 9 ,
  KDF_PARTYVINFO = 10 , KDF_SUPPPUBINFO = 11 , KDF_SUPPPRIVINFO = 12 , KDF_LABEL = 13 ,
  KDF_CONTEXT = 14 , KDF_SALT = 15 , KDF_ITERATION_COUNT = 16 , NCRYPTBUFFER_ECC_CURVE_NAME = 60
}
 
enum  BCryptOpenAlgorithmProviderFlags { None = 0 , BCRYPT_ALG_HANDLE_HMAC_FLAG = 8 , None = 0 , BCRYPT_ALG_HANDLE_HMAC_FLAG = 8 }
 
enum  BCryptCreateHashFlags { None = 0 , BCRYPT_HASH_REUSABLE_FLAG = 0x20 , None = 0 , BCRYPT_HASH_REUSABLE_FLAG = 0x20 }
 
enum  KeyBlobMagicNumber {
  BCRYPT_DSA_PUBLIC_MAGIC = 1112560452 , BCRYPT_DSA_PRIVATE_MAGIC = 1448104772 , BCRYPT_DSA_PUBLIC_MAGIC_V2 = 843206724 , BCRYPT_DSA_PRIVATE_MAGIC_V2 = 844517444 ,
  BCRYPT_ECDH_PUBLIC_P256_MAGIC = 827016005 , BCRYPT_ECDH_PRIVATE_P256_MAGIC = 843793221 , BCRYPT_ECDH_PUBLIC_P384_MAGIC = 860570437 , BCRYPT_ECDH_PRIVATE_P384_MAGIC = 877347653 ,
  BCRYPT_ECDH_PUBLIC_P521_MAGIC = 894124869 , BCRYPT_ECDH_PRIVATE_P521_MAGIC = 910902085 , BCRYPT_ECDH_PUBLIC_GENERIC_MAGIC = 1347109701 , BCRYPT_ECDH_PRIVATE_GENERIC_MAGIC = 1447772997 ,
  BCRYPT_ECDSA_PUBLIC_P256_MAGIC = 827540293 , BCRYPT_ECDSA_PRIVATE_P256_MAGIC = 844317509 , BCRYPT_ECDSA_PUBLIC_P384_MAGIC = 861094725 , BCRYPT_ECDSA_PRIVATE_P384_MAGIC = 877871941 ,
  BCRYPT_ECDSA_PUBLIC_P521_MAGIC = 894649157 , BCRYPT_ECDSA_PRIVATE_P521_MAGIC = 911426373 , BCRYPT_ECDSA_PUBLIC_GENERIC_MAGIC = 1346650949 , BCRYPT_ECDSA_PRIVATE_GENERIC_MAGIC = 1447314245 ,
  BCRYPT_RSAPUBLIC_MAGIC = 826364754 , BCRYPT_RSAPRIVATE_MAGIC = 843141970 , BCRYPT_RSAFULLPRIVATE_MAGIC = 859919186 , BCRYPT_KEY_DATA_BLOB_MAGIC = 1296188491 ,
  BCRYPT_DSA_PUBLIC_MAGIC = 1112560452 , BCRYPT_DSA_PRIVATE_MAGIC = 1448104772 , BCRYPT_DSA_PUBLIC_MAGIC_V2 = 843206724 , BCRYPT_DSA_PRIVATE_MAGIC_V2 = 844517444 ,
  BCRYPT_ECDH_PUBLIC_P256_MAGIC = 827016005 , BCRYPT_ECDH_PRIVATE_P256_MAGIC = 843793221 , BCRYPT_ECDH_PUBLIC_P384_MAGIC = 860570437 , BCRYPT_ECDH_PRIVATE_P384_MAGIC = 877347653 ,
  BCRYPT_ECDH_PUBLIC_P521_MAGIC = 894124869 , BCRYPT_ECDH_PRIVATE_P521_MAGIC = 910902085 , BCRYPT_ECDH_PUBLIC_GENERIC_MAGIC = 1347109701 , BCRYPT_ECDH_PRIVATE_GENERIC_MAGIC = 1447772997 ,
  BCRYPT_ECDSA_PUBLIC_P256_MAGIC = 827540293 , BCRYPT_ECDSA_PRIVATE_P256_MAGIC = 844317509 , BCRYPT_ECDSA_PUBLIC_P384_MAGIC = 861094725 , BCRYPT_ECDSA_PRIVATE_P384_MAGIC = 877871941 ,
  BCRYPT_ECDSA_PUBLIC_P521_MAGIC = 894649157 , BCRYPT_ECDSA_PRIVATE_P521_MAGIC = 911426373 , BCRYPT_ECDSA_PUBLIC_GENERIC_MAGIC = 1346650949 , BCRYPT_ECDSA_PRIVATE_GENERIC_MAGIC = 1447314245 ,
  BCRYPT_RSAPUBLIC_MAGIC = 826364754 , BCRYPT_RSAPRIVATE_MAGIC = 843141970 , BCRYPT_RSAFULLPRIVATE_MAGIC = 859919186 , BCRYPT_KEY_DATA_BLOB_MAGIC = 1296188491 ,
  BCRYPT_DSA_PUBLIC_MAGIC = 1112560452 , BCRYPT_DSA_PRIVATE_MAGIC = 1448104772 , BCRYPT_DSA_PUBLIC_MAGIC_V2 = 843206724 , BCRYPT_DSA_PRIVATE_MAGIC_V2 = 844517444 ,
  BCRYPT_ECDH_PUBLIC_P256_MAGIC = 827016005 , BCRYPT_ECDH_PRIVATE_P256_MAGIC = 843793221 , BCRYPT_ECDH_PUBLIC_P384_MAGIC = 860570437 , BCRYPT_ECDH_PRIVATE_P384_MAGIC = 877347653 ,
  BCRYPT_ECDH_PUBLIC_P521_MAGIC = 894124869 , BCRYPT_ECDH_PRIVATE_P521_MAGIC = 910902085 , BCRYPT_ECDH_PUBLIC_GENERIC_MAGIC = 1347109701 , BCRYPT_ECDH_PRIVATE_GENERIC_MAGIC = 1447772997 ,
  BCRYPT_ECDSA_PUBLIC_P256_MAGIC = 827540293 , BCRYPT_ECDSA_PRIVATE_P256_MAGIC = 844317509 , BCRYPT_ECDSA_PUBLIC_P384_MAGIC = 861094725 , BCRYPT_ECDSA_PRIVATE_P384_MAGIC = 877871941 ,
  BCRYPT_ECDSA_PUBLIC_P521_MAGIC = 894649157 , BCRYPT_ECDSA_PRIVATE_P521_MAGIC = 911426373 , BCRYPT_ECDSA_PUBLIC_GENERIC_MAGIC = 1346650949 , BCRYPT_ECDSA_PRIVATE_GENERIC_MAGIC = 1447314245 ,
  BCRYPT_RSAPUBLIC_MAGIC = 826364754 , BCRYPT_RSAPRIVATE_MAGIC = 843141970 , BCRYPT_RSAFULLPRIVATE_MAGIC = 859919186 , BCRYPT_KEY_DATA_BLOB_MAGIC = 1296188491
}
 
enum  NTSTATUS : uint {
  STATUS_SUCCESS = 0u , STATUS_NOT_FOUND = 3221226021u , STATUS_INVALID_PARAMETER = 3221225485u , STATUS_NO_MEMORY = 3221225495u ,
  STATUS_AUTH_TAG_MISMATCH = 3221266434u , STATUS_SUCCESS = 0u , STATUS_NOT_FOUND = 3221226021u , STATUS_INVALID_PARAMETER = 3221225485u ,
  STATUS_NO_MEMORY = 3221225495u , STATUS_AUTH_TAG_MISMATCH = 3221266434u , STATUS_SUCCESS = 0u , STATUS_NOT_FOUND = 3221226021u ,
  STATUS_INVALID_PARAMETER = 3221225485u , STATUS_NO_MEMORY = 3221225495u , STATUS_AUTH_TAG_MISMATCH = 3221266434u , STATUS_SUCCESS = 0u ,
  STATUS_NOT_FOUND = 3221226021u , STATUS_INVALID_PARAMETER = 3221225485u , STATUS_NO_MEMORY = 3221225495u , STATUS_AUTH_TAG_MISMATCH = 3221266434u
}
 

Package Functions

static unsafe NTSTATUS BCryptGenRandom (IntPtr hAlgorithm, byte *pbBuffer, int cbBuffer, int dwFlags)
 
static unsafe NTSTATUS BCryptGenRandom (IntPtr hAlgorithm, byte *pbBuffer, int cbBuffer, int dwFlags)
 
static NTSTATUS BCryptOpenAlgorithmProvider (out SafeBCryptAlgorithmHandle phAlgorithm, string pszAlgId, string pszImplementation, BCryptOpenAlgorithmProviderFlags dwFlags)
 
static NTSTATUS BCryptCloseAlgorithmProvider (IntPtr hAlgorithm, int dwFlags)
 
static NTSTATUS BCryptDestroyHash (IntPtr hHash)
 
static unsafe NTSTATUS BCryptHash (nuint hAlgorithm, byte *pbSecret, int cbSecret, byte *pbInput, int cbInput, byte *pbOutput, int cbOutput)
 
static unsafe NTSTATUS BCryptDeriveKeyPBKDF2 (SafeBCryptAlgorithmHandle hPrf, byte *pbPassword, int cbPassword, byte *pbSalt, int cbSalt, ulong cIterations, byte *pbDerivedKey, int cbDerivedKey, uint dwFlags)
 
static NTSTATUS BCryptDestroyKey (IntPtr hKey)
 
static unsafe NTSTATUS BCryptGetProperty (SafeBCryptHandle hObject, string pszProperty, void *pbOutput, int cbOutput, out int pcbResult, int dwFlags)
 
static unsafe NTSTATUS BCryptGenerateSymmetricKey (SafeBCryptAlgorithmHandle hAlgorithm, out SafeBCryptKeyHandle phKey, IntPtr pbKeyObject, int cbKeyObject, byte *pbSecret, int cbSecret, uint dwFlags)
 
static unsafe NTSTATUS BCryptGenerateSymmetricKey (nuint hAlgorithm, out SafeBCryptKeyHandle phKey, IntPtr pbKeyObject, int cbKeyObject, byte *pbSecret, int cbSecret, uint dwFlags)
 
static unsafe NTSTATUS BCryptKeyDerivation (SafeBCryptKeyHandle hKey, BCryptBufferDesc *pParameterList, byte *pbDerivedKey, int cbDerivedKey, out uint pcbResult, int dwFlags)
 
static NTSTATUS BCryptOpenAlgorithmProvider (out Microsoft.Win32.SafeHandles.SafeBCryptAlgorithmHandle phAlgorithm, string pszAlgId, string pszImplementation, BCryptOpenAlgorithmProviderFlags dwFlags)
 
static NTSTATUS BCryptCloseAlgorithmProvider (IntPtr hAlgorithm, int dwFlags)
 
static NTSTATUS BCryptDestroyHash (IntPtr hHash)
 
static unsafe NTSTATUS BCryptGetProperty (Microsoft.Win32.SafeHandles.SafeBCryptHandle hObject, string pszProperty, void *pbOutput, int cbOutput, out int pcbResult, int dwFlags)
 
static NTSTATUS BCryptDestroyKey (IntPtr hKey)
 
static NTSTATUS BCryptExportKey (Microsoft.Win32.SafeHandles.SafeBCryptKeyHandle hKey, IntPtr hExportKey, string pszBlobType, [Out] byte[] pbOutput, int cbOutput, out int pcbResult, int dwFlags)
 
static unsafe NTSTATUS BCryptGetProperty (Microsoft.Win32.SafeHandles.SafeBCryptHandle hObject, string pszProperty, void *pbOutput, int cbOutput, out int pcbResult, int dwFlags)
 

Static Package Functions

static unsafe SafeKeyHandle BCryptImportKey (SafeAlgorithmHandle hAlg, ReadOnlySpan< byte > key)
 
static unsafe int BCryptEncrypt (SafeKeyHandle hKey, ReadOnlySpan< byte > input, byte[] iv, Span< byte > output)
 
static unsafe int BCryptDecrypt (SafeKeyHandle hKey, ReadOnlySpan< byte > input, byte[] iv, Span< byte > output)
 
static void Emit (byte[] blob, ref int offset, byte[] value)
 
static void EmitByte (byte[] blob, ref int offset, byte value, int count=1)
 
static void EmitBigEndian (byte[] blob, ref int offset, int value)
 
static byte[] Consume (byte[] blob, ref int offset, int count)
 
static Exception CreateCryptographicException (NTSTATUS ntStatus)
 
static NTSTATUS BCryptCreateHash (SafeBCryptAlgorithmHandle hAlgorithm, out SafeBCryptHashHandle phHash, IntPtr pbHashObject, int cbHashObject, ReadOnlySpan< byte > secret, int cbSecret, BCryptCreateHashFlags dwFlags)
 
static SafeBCryptHashHandle BCryptDuplicateHash (SafeBCryptHashHandle hHash)
 
static NTSTATUS BCryptHashData (SafeBCryptHashHandle hHash, ReadOnlySpan< byte > pbInput, int cbInput, int dwFlags)
 
static NTSTATUS BCryptFinishHash (SafeBCryptHashHandle hHash, Span< byte > pbOutput, int cbOutput, int dwFlags)
 
static unsafe Internal.NativeCrypto.SafeKeyHandle BCryptImportKey (Internal.NativeCrypto.SafeAlgorithmHandle hAlg, ReadOnlySpan< byte > key)
 
static unsafe int BCryptEncrypt (Internal.NativeCrypto.SafeKeyHandle hKey, ReadOnlySpan< byte > input, byte[] iv, Span< byte > output)
 
static unsafe int BCryptDecrypt (Internal.NativeCrypto.SafeKeyHandle hKey, ReadOnlySpan< byte > input, byte[] iv, Span< byte > output)
 
static void Emit (byte[] blob, ref int offset, byte[] value)
 
static void EmitByte (byte[] blob, ref int offset, byte value, int count=1)
 
static void EmitBigEndian (byte[] blob, ref int offset, int value)
 
static byte[] Consume (byte[] blob, ref int offset, int count)
 
static Exception CreateCryptographicException (NTSTATUS ntStatus)
 
static NTSTATUS BCryptCreateHash (Microsoft.Win32.SafeHandles.SafeBCryptAlgorithmHandle hAlgorithm, out Microsoft.Win32.SafeHandles.SafeBCryptHashHandle phHash, IntPtr pbHashObject, int cbHashObject, ReadOnlySpan< byte > secret, int cbSecret, BCryptCreateHashFlags dwFlags)
 
static NTSTATUS BCryptHashData (Microsoft.Win32.SafeHandles.SafeBCryptHashHandle hHash, ReadOnlySpan< byte > pbInput, int cbInput, int dwFlags)
 
static NTSTATUS BCryptFinishHash (Microsoft.Win32.SafeHandles.SafeBCryptHashHandle hHash, Span< byte > pbOutput, int cbOutput, int dwFlags)
 
static byte[] Consume (byte[] blob, ref int offset, int count)
 

Properties

static bool PseudoHandlesSupported = OperatingSystem.IsWindowsVersionAtLeast(10) [get]
 

Private Member Functions

static NTSTATUS BCryptImportKey (SafeAlgorithmHandle hAlgorithm, IntPtr hImportKey, string pszBlobType, out SafeKeyHandle hKey, IntPtr pbKeyObject, int cbKeyObject, byte[] pbInput, int cbInput, int dwFlags)
 
static NTSTATUS BCryptCreateHash (SafeBCryptAlgorithmHandle hAlgorithm, out SafeBCryptHashHandle phHash, IntPtr pbHashObject, int cbHashObject, ref byte pbSecret, int cbSecret, BCryptCreateHashFlags dwFlags)
 
static NTSTATUS BCryptDuplicateHash (SafeBCryptHashHandle hHash, out SafeBCryptHashHandle phNewHash, IntPtr pbHashObject, int cbHashObject, int dwFlags)
 
static NTSTATUS BCryptHashData (SafeBCryptHashHandle hHash, ref byte pbInput, int cbInput, int dwFlags)
 
static NTSTATUS BCryptFinishHash (SafeBCryptHashHandle hHash, ref byte pbOutput, int cbOutput, int dwFlags)
 
static NTSTATUS BCryptImportKey (Internal.NativeCrypto.SafeAlgorithmHandle hAlgorithm, IntPtr hImportKey, string pszBlobType, out Internal.NativeCrypto.SafeKeyHandle hKey, IntPtr pbKeyObject, int cbKeyObject, byte[] pbInput, int cbInput, int dwFlags)
 
static NTSTATUS BCryptCreateHash (Microsoft.Win32.SafeHandles.SafeBCryptAlgorithmHandle hAlgorithm, out Microsoft.Win32.SafeHandles.SafeBCryptHashHandle phHash, IntPtr pbHashObject, int cbHashObject, ref byte pbSecret, int cbSecret, BCryptCreateHashFlags dwFlags)
 
static NTSTATUS BCryptHashData (Microsoft.Win32.SafeHandles.SafeBCryptHashHandle hHash, ref byte pbInput, int cbInput, int dwFlags)
 
static NTSTATUS BCryptFinishHash (Microsoft.Win32.SafeHandles.SafeBCryptHashHandle hHash, ref byte pbOutput, int cbOutput, int dwFlags)
 

Detailed Description

Definition at line 1380 of file Interop.cs.


The documentation for this class was generated from the following files: