2.2.1.4.3.1.1.1 RSA Public Key (RSA_PUBLIC_KEY)
The structure used to describe a public key in a Proprietary Certificate (section 2.2.1.4.3.1.1).
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
magic |
|||||||||||||||||||||||||||||||
|
keylen |
|||||||||||||||||||||||||||||||
|
bitlen |
|||||||||||||||||||||||||||||||
|
datalen |
|||||||||||||||||||||||||||||||
|
pubExp |
|||||||||||||||||||||||||||||||
|
modulus (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
magic (4 bytes): A 32-bit, unsigned integer. The sentinel value. This field MUST be set to 0x31415352.
keylen (4 bytes): A 32-bit, unsigned integer. The size in bytes of the modulus field. This value is directly related to the bitlen field and MUST be ((bitlen / 8) + 8) bytes.
bitlen (4 bytes): A 32-bit, unsigned integer. The number of bits in the public key modulus.
datalen (4 bytes): A 32-bit, unsigned integer. The maximum number of bytes that can be encoded using the public key. This value is directly related to the bitlen field and MUST be ((bitlen / 8) - 1) bytes.
pubExp (4 bytes): A 32-bit, unsigned integer. The public exponent of the public key.
modulus (variable): A variable-length array of bytes containing the public key modulus. The length in bytes of this field is given by the keylen field. The modulus field contains all (bitlen / 8) bytes of the public key modulus and 8 bytes of zero padding (which MUST follow after the modulus bytes).