Difference between revisions of "Ticket"
Jump to navigation
Jump to search
| Line 1: | Line 1: | ||
| − | An iQue '''Ticket''' is used to store data about a piece of content | + | An iQue '''Ticket''' is used to store data about a piece of content and per-console information. It is contained inside the ticket file after the CMD data. |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
{| class="wikitable" | {| class="wikitable" | ||
| Line 16: | Line 9: | ||
! Information | ! Information | ||
|- | |- | ||
| − | | | + | | 0x00 |
| − | | | + | | 0x04 |
| bytes | | bytes | ||
| − | | | + | | console_id |
| − | | | + | | console id that this ticket is for |
|- | |- | ||
| − | | | + | | 0x04 |
| − | | | + | | 0x02 |
| − | | | + | | int16 |
| − | | | + | | ticket_id |
| − | | | + | | if bit 15 set then this is a trial ticket |
|- | |- | ||
| − | | | + | | 0x06 |
| − | | | + | | 0x02 |
| − | | | + | | uint16 |
| − | | | + | | limit_enum |
| − | | | + | | 0 or 2 = time, 1 = number of launches |
|- | |- | ||
| − | | | + | | 0x08 |
| − | | | + | | 0x02 |
| − | | | + | | int16 |
| − | | | + | | limit_value |
| − | | | + | | number of minutes, or number of launches |
|- | |- | ||
| − | | | + | | 0x0A |
| − | | | + | | 0x02 |
| − | | | + | | int16 |
| − | | | + | | padding |
| IV used to encrypt titlekey (with common key) | | IV used to encrypt titlekey (with common key) | ||
|- | |- | ||
| − | | | + | | 0x0C |
| − | | | + | | 0x04 |
| − | | | + | | int32 |
| − | | | + | | ticket_crl_version |
| − | | | + | | |
|- | |- | ||
| − | | | + | | 0x10 |
| 0x10 | | 0x10 | ||
| bytes | | bytes | ||
| − | | | + | | titlekey_iv |
| − | | IV used to encrypt | + | | IV used to encrypt titlekey (with ecdh key) |
|- | |- | ||
| − | | | + | | 0x20 |
| − | | | + | | 0x40 |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| int32 | | int32 | ||
| − | | | + | | ecc_pubkey |
| − | | | + | | used with console's ECC privkey to derive unique titlekey encryption key via ECDH |
|- | |- | ||
| − | | | + | | 0x60 |
| 0x40 | | 0x40 | ||
| − | | | + | | bytes |
| signer | | signer | ||
| − | | | + | | certificate used to sign the ticket |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
|- | |- | ||
| − | | | + | | 0xA0 |
| 0x100 | | 0x100 | ||
| bytes | | bytes | ||
| signature | | signature | ||
| − | | RSA-2048 | + | | RSA-2048, over rest of tik+all of CMD |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
Revision as of 02:44, 6 May 2018
An iQue Ticket is used to store data about a piece of content and per-console information. It is contained inside the ticket file after the CMD data.
| Offset | Length | Type | Description | Information |
|---|---|---|---|---|
| 0x00 | 0x04 | bytes | console_id | console id that this ticket is for |
| 0x04 | 0x02 | int16 | ticket_id | if bit 15 set then this is a trial ticket |
| 0x06 | 0x02 | uint16 | limit_enum | 0 or 2 = time, 1 = number of launches |
| 0x08 | 0x02 | int16 | limit_value | number of minutes, or number of launches |
| 0x0A | 0x02 | int16 | padding | IV used to encrypt titlekey (with common key) |
| 0x0C | 0x04 | int32 | ticket_crl_version | |
| 0x10 | 0x10 | bytes | titlekey_iv | IV used to encrypt titlekey (with ecdh key) |
| 0x20 | 0x40 | int32 | ecc_pubkey | used with console's ECC privkey to derive unique titlekey encryption key via ECDH |
| 0x60 | 0x40 | bytes | signer | certificate used to sign the ticket |
| 0xA0 | 0x100 | bytes | signature | RSA-2048, over rest of tik+all of CMD |