BLOBHEADER结构位于每个关键点的前面。这不限于PROV_RSA_BASE和PROV_RSA_SIG提供者类型生成的关键点;定义的任何附加的键blob类型也应该指定每个键blob从这个结构开始。
此结构包含指示键使用的关键blob类型和算法的字段。
typedef struct _BLOBHEADER {en
BYTE bType;
BYTE bVersion;
WORD Reserved;
ALG_ID aiKeyAlg;
} BLOBHEADER;
下表描述了BLOBHEADER结构中的每个字段。
领域 | 描述 |
BTYPE | 关键blob类型。当前定义的唯一Blob类型是PUBLICKEYBLOB,PRIVATEKEYBLOB和SIMPLEBLOB blob类型。其他关键的blob类型将根据需要进行定义。 PUBLICKEYBLOB用于传输RSA公钥,PRIVATEKEYBLOB用于传输RSA公钥/私钥对,SIMPLEBLOB用于传输会话密钥。 |
bVersion | 密钥blob格式的版本号。这个值必须始终为0x02。 |
保留的 | 这两个字节保留供将来使用,并应为零。 |
aiKeyAlg | 密钥blob包含的密钥的算法标识符。一些例子是CALG_RSA_SIGN,CALG_RSA_KEYX,CALG_RC2和CALG_RC4。 |