blobHEADER 结构 (wincrypt.h)
PUBLICKEYSTRUC 结构(也称为 BLOBHEADER 结构)指示密钥的 BLOB 类型和密钥使用的算法。 其中一个结构位于每个密钥 BLOB 的 pbData 成员的开头。
此结构不限于PROV_RSA_BASE和PROV_RSA_SIG提供程序类型生成的密钥 BLOB。 任何新密钥 BLOB 类型的 pbData 成员都必须以此结构开头。
语法
typedef struct _PUBLICKEYSTRUC {
BYTE bType;
BYTE bVersion;
WORD reserved;
ALG_ID aiKeyAlg;
} BLOBHEADER, PUBLICKEYSTRUC;
成员
bType
包含密钥 BLOB 类型。
下面是此成员的预定义值。 加密服务提供程序 (CSP) 可以根据需要使用其他类型的标识符。
值 | 含义 |
---|---|
|
BLOB 是关键状态 BLOB。 |
|
密钥是会话密钥。 |
|
密钥是会话密钥。 |
|
密钥是 公钥/私钥对。 |
|
密钥是公钥。 |
|
密钥是公钥。 |
|
密钥是会话密钥。 |
|
密钥是对称密钥。 |
bVersion
包含密钥 BLOB 格式的版本号。 例如,如果 BLOB 是 数字签名标准 (DSS) 版本 3 密钥,则此成员将包含 3。 此成员的最小值由 CUR_BLOB_VERSION (2) 标识符定义。
reserved
此成员保留供将来使用,必须设置为零。
aiKeyAlg
包含 一个ALG_ID 值,该值标识密钥 BLOB 包含的密钥的算法。
并非所有算法标识符对所有 BLOB 类型都有效。 例如,由于 RC4 密钥是会话密钥,因此无法将其导出到 PUBLICKEYBLOB 中。
PLAINTEXTB BLOB 可以与使用中的 CSP 支持的任意算法或组合键类型一起使用。 请注意,在使用 Microsoft 基本提供程序时,无法导入 3DES 密钥。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | wincrypt.h |