BCRYPT_DSA_KEY_BLOB_V2 结构 (bcrypt.h)
BCRYPT_DSA_KEY_BLOB_V2结构用作数字签名算法的标头, (DSA) 内存中的公钥或私钥BLOB。
语法
typedef struct _BCRYPT_DSA_KEY_BLOB_V2 {
ULONG dwMagic;
ULONG cbKey;
HASHALGORITHM_ENUM hashAlgorithm;
DSAFIPSVERSION_ENUM standardVersion;
ULONG cbSeedLength;
ULONG cbGroupSize;
UCHAR Count[4];
} BCRYPT_DSA_KEY_BLOB_V2, *PBCRYPT_DSA_KEY_BLOB_V2;
成员
dwMagic
确定此结构表示的键的类型。 这可以是以下值之一。
Value | 含义 |
---|---|
|
结构表示 DSA 公钥。 |
|
结构表示 DSA 私钥。 |
cbKey
密钥的长度(以字节为单位)。
hashAlgorithm
一个HASHALGORITHM_ENUM枚举值,该值指定要使用的哈希算法。
standardVersion
一个 DSAFIPSVERSION_ENUM 枚举值,该值指定要应用的联邦信息处理标准 (FIPS) 。
cbSeedLength
用于生成质数 q 的种子的长度(以字节为单位)。
cbGroupSize
质数 q 的大小(以字节为单位)。 目前,当密钥长度超过 1024 位时, q 的长度为 32 字节。
Count[4]
为从种子生成质数 q 而执行的迭代次数。 有关详细信息,请参阅 NIST 标准 FIPS186-3。
注解
结构适用于长度超过 1024 位但小于或等于 3072 位的 DSA 密钥。
此结构用作较大缓冲区的标头。 DSA 公钥 BLOB (BCRYPT_DSA_PUBLIC_BLOB) 在连续内存中采用以下格式。 Seed、q、Modulus、Generator 和 Public 数字采用 big-endian 格式。
BCRYPT_DSA_KEY_BLOB_V2
Seed[cbSeedLength] // Big-endian.
q[cbGroupSize] // Big-endian.
Modulus[cbKey] // Big-endian.
Generator[cbKey] // Big-endian.
Public[cbKey] // Big-endian.
DSA 私钥 BLOB (BCRYPT_DSA_PRIVATE_BLOB) 在连续内存中采用以下格式。 Seed、q、Modulus、Generator、Public 和 PrivateExponent 数字采用 big-endian 格式。
BCRYPT_DSA_KEY_BLOB_V2
Seed[cbSeedLength] // Big-endian.
q[cbGroupSize] // Big-endian.
Modulus[cbKey] // Big-endian.
Generator[cbKey] // Big-endian.
Public[cbKey] // Big-endian.
PrivateExponent[cbGroupSize] // Big-endian.
要求
最低受支持的客户端 | Windows 8 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2012 [仅限桌面应用] |
标头 | bcrypt.h |
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈