BCRYPT_DSA_KEY_BLOB结构(bcrypt.h)

BCRYPT_DSA_KEY_BLOB 结构用作 数字签名算法(DSA)公钥 或内存中BLOB 私钥的标头。

语法

typedef struct _BCRYPT_DSA_KEY_BLOB {
  ULONG dwMagic;
  ULONG cbKey;
  UCHAR Count[4];
  UCHAR Seed[20];
  UCHAR q[20];
} BCRYPT_DSA_KEY_BLOB, *PBCRYPT_DSA_KEY_BLOB;

成员

dwMagic

确定此结构表示的键的类型。 这可以是以下值之一。

价值 意义
BCRYPT_DSA_PUBLIC_MAGIC
0x42505344
该结构表示 DSA 公钥。
BCRYPT_DSA_PRIVATE_MAGIC
0x56505344
该结构表示 DSA 私钥。

cbKey

键的长度(以字节为单位)。

Count[4]

用于生成 q的迭代数(采用大端格式)。

Seed[20]

种子值,采用 big-endian 格式,用于生成 q

q[20]

采用大端格式的 160 位质因子。

言论

该结构适用于长度等于或超过 512 位但小于或等于 1024 位的 DSA 键。

此结构用作较大缓冲区的标头。 DSA 公钥 BLOB(BCRYPT_DSA_PUBLIC_BLOB)采用连续内存格式。 模数、生成器和公共数字采用大端格式。


BCRYPT_DSA_KEY_BLOB
Modulus[cbKey]    // Big-endian.
Generator[cbKey]  // Big-endian.
Public[cbKey]     // Big-endian.

DSA 私钥 BLOB(BCRYPT_DSA_PRIVATE_BLOB)采用连续内存格式。 Modulus、Generator、Public 和 PrivateExponent 数字采用大端格式。


BCRYPT_DSA_KEY_BLOB
Modulus[cbKey]        // Big-endian.
Generator[cbKey]      // Big-endian.
Public[cbKey]         // Big-endian.
PrivateExponent[20]   // Big-endian.

要求

要求 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
标头 bcrypt.h

另请参阅

BCryptExportKey

BCryptImportKeyPair