Certificates: Difference between revisions

3dsguy (talk | contribs)
mNo edit summary
Luigoalma (talk | contribs)
Unknown parameter has use on CTCert Certificates
 
(3 intermediate revisions by one other user not shown)
Line 26: Line 26:
| Key Type
| Key Type
|-
|-
| 0x84 + X
| 0x48 + X
| 0x40
| 0x40
| Name
| Name
|-
|-
| 0xC4 + X
| 0x88 + X
| 0x4
| 0x4
| Unknown
| Expiration time as UNIX Timestamp, used at least for [[CTCert]]
|-
|-
| 0xC8 + X
| 0x8C + X
| *
| *
| Public Key
| Public Key
Line 48: Line 48:
== Public Key ==
== Public Key ==


Determining the type of public key stored, is done by checking the key type:
{| class="wikitable"
|-
! Value
! Key Type
|-
| 0x0
| RSA_4096
|-
| 0x1
| RSA_2048
|-
| 0x2
| Elliptic Curve
|}
=== RSA ===
=== RSA ===
This contains the Public Key(i.e. Modulus & Public Exponent). For RSA-2048 public keys, this section is as follows:
This contains the Public Key(i.e. Modulus & Public Exponent)


==== 4096 Bit ====
{| class="wikitable"
|-
! Offset
! Size
! Description
|-
| 0x0
| 0x200
| Modulus
|-
| 0x200
| 0x4
| Public Exponent
|-
| 0x204
| 0x34
| Padding
|}
==== 2048 Bit ====
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 67: Line 104:
| 0x104
| 0x104
| 0x34
| 0x34
| Padding
|}
=== ECC ===
This contains the ECC public key, and is as follows:
{| class="wikitable"
|-
! Offset
! Size
! Description
|-
| 0x0
| 0x3C
| Public Key
|-
| 0x3C
| 0x3C
| Padding
| Padding
|}
|}