Ticket: Difference between revisions

Magic (talk | contribs)
Created page with "Tickets are a format used to store an encrypted title key. The format has been updated again since 3DS. == Structure == {| class="wikitable" ! Offset ! Size ! Description |-..."
 
(4 intermediate revisions by 2 users not shown)
Line 48: Line 48:
|-
|-
| 0x010002
| 0x010002
| Elliptic Curve with SHA1
| ECDSA SHA1
| 0x3C
| 0x3C
| 0x40
| 0x40
Line 63: Line 63:
|-
|-
| 0x010005
| 0x010005
| ECDSA with SHA256
| ECDSA SHA256
| 0x3C
| 0x3C
| 0x40
| 0x40
Line 84: Line 84:
| 0x141 || 0x1 || Title key type
| 0x141 || 0x1 || Title key type
|-
|-
| 0x142 || 0xE || Unknown
| 0x142 || 0x3 || Unknown
|-
| 0x145 || 0x1 || Master key revision
|-
| 0x146 || 0xA || Unknown
|-
|-
| 0x150 || 0x8 || Ticket ID
| 0x150 || 0x8 || Ticket ID
Line 90: Line 94:
| 0x158 || 0x8 || Device ID
| 0x158 || 0x8 || Device ID
|-
|-
| 0x160 || 0x8 || Title ID
| 0x160 || 0x10 || Rights ID
|-
| 0x168 || 0x8 || Unknown
|-
|-
| 0x170 || 0x4 || Account ID
| 0x170 || 0x4 || Account ID
Line 101: Line 103:
|}
|}


The title key can be encrypted as a single AES block when title key type is 0 (presumably AES-128-CBC) or as an RSA-2048 message when title key type is 1. The latter is used for titles requiring stronger licensing (applications, add-on content), while the former (old) method is used for patches.
The title key can be stored as a 16-byte block when tickets are "common" [2.0.0+] with title key type 0, or as a "personalized" RSA-2048 message when title key type is 1. The latter is used for titles requiring stronger licensing (applications, add-on content), while the former (old) method is used for patches.


When RSA is used, this uses an SPL key handle that is initialized with the console-unique RSA-2048 ticket key.
When RSA is used, this uses an SPL key handle that is initialized with the console-unique RSA-2048 ticket key.
CommonETicket (or cetk) no longer exist.


== Certificate chain ==
== Certificate chain ==
Line 119: Line 119:
|  XS00000021
|  XS00000021
|  ?
|  ?
|  Used to verify (some?) ticket signatures
|  Used to verify ticket signatures using RSA title key block ("personalized" tickets)
|-
|-
|  Ticket
|  Ticket
Line 125: Line 125:
|  XS00000020
|  XS00000020
|  ?
|  ?
|  Used to verify (some?) ticket signatures
|  Used to verify ticket signatures using AES title key block
|-
|-
|  CA
|  CA