bCryptBuffer 结构 (bcrypt.h)

表示通用加密 API:下一代 (CNG) 缓冲区。

注意

此结构也别名为 NCryptBuffer。

语法

typedef struct _BCryptBuffer {
  ULONG cbBuffer;
  ULONG BufferType;
  PVOID pvBuffer;
} BCryptBuffer, *PBCryptBuffer;

成员

cbBuffer

缓冲区的大小(以字节为单位)。

BufferType

此结构表示的缓冲区的类型。 这可以是以下值之一。

含义
KDF_HASH_ALGORITHM 0 缓冲区是一个密钥派生函数, (KDF) 参数,其中包含标识哈希算法的以 null 结尾的 Unicode 字符串。 这可以是 CNG 算法标识符中的标准哈希 算法标识符 之一,也可以是另一个已注册哈希算法的标识符。

此结构的 cbBuffer 成员指定的大小必须包含终止 NULL 字符。
KDF_SECRET_PREPEND 1 缓冲区是一个 KDF 参数,其中包含要添加到哈希函数输入的消息开头的值。
KDF_SECRET_APPEND 2 缓冲区是一个 KDF 参数,其中包含要添加到哈希函数输入的消息末尾的值。
KDF_HMAC_KEY 3 缓冲区是包含 HMAC 键的纯文本值的 KDF 参数。
KDF_TLS_PRF_LABEL 4 缓冲区是一个 KDF 参数,其中包含一个 ANSI 字符串,该字符串包含 传输层安全性 (TLS) 伪随机函数 (PRF) 标签。
KDF_TLS_PRF_SEED 5 缓冲区是包含 PRF 种子值的 KDF 参数。 种子长度必须为 64 字节。
KDF_SECRET_HANDLE 6 缓冲区是包含机密协议句柄的 KDF 参数。 pvBuffer 成员包含BCRYPT_SECRET_HANDLE值,并且不是指针。
KDF_TLS_PRF_PROTOCOL 7 缓冲区是一个 KDF 参数,其中包含一个 DWORD 值,该值标识将使用 PRF 算法的 SSL/TLS 协议版本。
KDF_ALGORITHMID 8 缓冲区是一个 KDF 参数,其中包含要用作 SP 800-56A KDF 的 OtherInfo 参数的 AlgorithmID 子字段的字节数组。
KDF_PARTYUINFO 9 缓冲区是一个 KDF 参数,其中包含要用作 SP 800-56A KDF 的 OtherInfo 参数的 PartyUInfo 子字段的字节数组。
KDF_PARTYVINFO 10 缓冲区是一个 KDF 参数,其中包含要用作 SP 800-56A KDF 的 OtherInfo 参数的 PartyVInfo 子字段的字节数组。
KDF_SUPPPUBINFO 11 缓冲区是一个 KDF 参数,其中包含要用作 SP 800-56A KDF 的 OtherInfo 参数的 SuppPubInfo 子字段的字节数组。
KDF_SUPPPRIVINFO 12 缓冲区是一个 KDF 参数,其中包含要用作 SP 800-56A KDF 的 OtherInfo 参数的 SuppPrivInfo 子字段的字节数组。
KDF_LABEL 13 有关详细信息 ,请参阅 BCryptKeyDerivation 函数
KDF_CONTEXT 14 有关详细信息 ,请参阅 BCryptKeyDerivation 函数
KDF_SALT 15 有关详细信息 ,请参阅 BCryptKeyDerivation 函数
KDF_ITERATION_COUNT 16 有关详细信息 ,请参阅 BCryptKeyDerivation 函数

pvBuffer

BufferType 成员定义的 32 位值。

要求

要求
Header bcrypt.h