Table 1 presents the format of an RSA public key token. All length fields are in binary. All binary fields (exponents, lengths, and so on) are stored with the high-order byte first.
Offset (Dec) | Number of Bytes | Description |
---|---|---|
Token Header (required) | ||
000 | 001 | Token identifier. X'1E' indicates an external token. |
001 | 001 | Version, X'00'. |
002 | 002 | Length of the key token structure. |
004 | 004 | Ignored. Should be zero. |
RSA Public Key Section (required) | ||
000 | 001 | X'04', section identifier, RSA public key. |
001 | 001 | X'00', version. |
002 | 002 | Section length, 12+xxx+yyy. |
004 | 002 | Reserved field. |
006 | 002 | RSA public key exponent field length in bytes, "xxx". |
008 | 002 | Public key modulus length in bits. |
010 | 002 | RSA public key modulus field length in bytes, "yyy". |
012 | xxx | Public key exponent (this is generally a 1-, 3-, or 64- to 512-byte quantity), e. e must be odd and 1<e<n. (Frequently, the value of e is 16+1) 2**16+1 (=65,537). |
12+xxx | yyy | Modulus, n. |