CommonETicket
CommonETicket (for short, cetk) is a format used to store an encrypted titlekey (using 128-Bit AES-CBC).
Notice
There is some part that not analysed, marked "Unknown Mark" or "(?)". There may also be mistakes. You can improve it freely if you can. When you finished the whole analysis of this, you can remove this Notice segment.
Structure
All the data in the file represented in Big Endian.
Header
Offset | Size | Description |
0x000 | 4 | Signature Type |
0x004 | 256 | Signature |
0x104 | 60 | Padding modulo 64 |
0x140 | 64 | Issuer |
0x180 | 60 | Padding |
0x1BC | 1 | Index, Always 01 |
0X1BD | 2 | Unknown Mark, Padding (?) |
0x1BF | 16 | Encrypted TitleKey |
0x1CF | 1 | Unknown Mark, Padding (?) |
0x1D0 | 2 | Unknown Mark, 00 04 |
0x1D2 | 6 | Unknown Mark |
0x1D8 | 4 | Unknown Mark, Padding (?) |
0x1DC | 8 | TitleID |
0x1E4 | 4 | Version |
0x1E8 | 188 | Padding |
0x2A4 | 4 | Unknown Mark, 00 01 00 14 |
0x2A8 | 4 | Unknown Mark, 00 00 00 AC |
0x2AC | 4 | Unknown Mark, 00 00 00 14 |
0x2B0 | 4 | Unknown Mark, 00 01 00 14 |
0x2B4 | 4 | Unknown Mark, Padding (?) |
0x2B8 | 4 | Unknown Mark, 00 00 00 28 |
0x2BC | 4 | Unknown Mark, 00 00 00 01 |
0x2C0 | 4 | Unknown Mark, 00 00 00 84 |
0x2C4 | 4 | Unknown Mark, 00 00 00 84 |
0x2C8 | 4 | Unknown Mark, 00 03 00 00 |
0x2C8 | 4 | Unknown Mark, 00 03 00 00 |
0x2CC | 4 | Unknown Mark, 00 00 00 00 |
0x2D0 | 4 | Unknown Mark, 01 00 00 00 |
0x2D4 | 124 | Padding (?) |
0x350 | 4 | Signature Type |
0x354 | 256 | Signature |
0x454 | 60 | Padding |
0x490 | 64 | IssuerCA |
0x4D0 | 4 | Unknown Mark, 00 00 00 01 |
0x4D4 | 64 | IssuerXS |
0x514 | 260 | Product of Odds in Signature |
0x618 | 4 | Unknown Mark, 00 01 00 01 |
0x61C | 52 | Padding (?) |
0x650 | 4 | Signature Type |
0x654 | 512 | Signature |
0x854 | 60 | Padding |
0x890 | 64 | IssuerCALevel |
0x8D0 | 4 | Unknown Mark, 00 00 00 01 |
0x8D4 | 64 | IssuerCAName |
0x914 | 260 | Product of Odds in Signature |
0xA18 | 4 | Unknown Mark, 00 01 00 01 |
0xA1C | 52 | Padding |
The Signature Type is the same const as that in TMD.
Some facts
CETK can be fetched through HTTP using the link to default update server, with only one word different from those of TMDs, while the 3ds use GetCommonETicket function (with SOAP). However only 3 cetk files has been discovered (those of Firmware Titles). Diff those files you will see there is only a few differences. The files seem to be just the same except those segments : 0x04-0x104,0x1BF-0x1CF,0x1D2-0x1D8,0x1DC-0x1E4,0x1E4-0x1E8.