私钥Blob格式

【勇芳软件工作室】汉化HomePreviousNext

私钥blob(类型PRIVATEKEYBLOB)用于存储RSA公钥/私钥对。它们具有以下格式:

BLOBHEADER blobheader;

RSAPUBKEY rsapubkey;

BYTE modulus[rsapubkey.bitlen/8];

BYTE prime1[rsapubkey.bitlen/16];

BYTE prime2[rsapubkey.bitlen/16];

BYTE exponent1[rsapubkey.bitlen/16];

BYTE exponent2[rsapubkey.bitlen/16];

BYTE coefficient[rsapubkey.bitlen/16];

BYTE privateExponent[rsapubkey.bitlen/8];

如果密钥blob被加密,那么Blob中除BLOBHEADER部分之外的所有内容都将被加密。请注意,加密算法和加密密钥参数不会与私钥blob一起存储。应用程序有责任管理这些信息。

下表描述了每个私钥blob组件。请注意,这些字段大体上对应于【PKCS#1:RSA加密标准】第7.2节中描述的字段。

领域描述
blobheader一个BLOBHEADER结构,如上一节所述。BTYPE字段必须始终为PRIVATEKEYBLOB的值。
rsapubkeyso如上一节所述的RSAPUBKEY结构。魔法字段必须始终为0x32415352(“RSA2”)。
系数模数。它的值为“prime1 * prime2”,通常称为“n”。
prime1素数1,通常称为“p”。
prime2素数2,通常被称为“q”。
exponent1指数1。它的数值为“d mod(p-1)”。
exponent2指数2。它的数值为“d mod(q-1)”。
系数系数。它的数值为“(q的倒数)mod p”。
privateExponent私人指数,通常被称为“d”。