Private key blobs (type PRIVATEKEYBLOB) are used to store RSA public/private
key pairs. They have the following format:
Field
| Description
|
blobheader
| A BLOBHEADER structure as described in a previous section. The bType field must always have a value of PRIVATEKEYBLOB.
|
rsapubkey
| A RSAPUBKEY structure as described in a previous section. The magic field must always have a value of 0x32415352 ("RSA2").
|
modulus
| The modulus. This has a value of "prime1 * prime2" and is often known as "n".
|
prime1
| Prime number 1, often known as "p".
|
prime2
| Prime number 2, often known as "q".
|
exponent1
| Exponent 1. This has a numeric value of "d mod (p - 1)".
|
exponent2
| Exponent 2. This has a numeric value of "d mod (q - 1)".
|
coefficient
| Coefficient. This has a numeric value of "(inverse of q) mod p".
|
privateExponent
| Private exponent, often known as "d".
|