SpotPass: Difference between revisions
Line 27: | Line 27: | ||
== Content Container == | == Content Container == | ||
All SpotPass content uses this container to encrypt the payload and sign it. The cleartext payload is stored in [[extdata]]. | All SpotPass content uses this container to encrypt the payload and sign it. The cleartext payload is stored in [[extdata]]. The format of these headers is big-endian. | ||
=== BOSS Header === | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
Line 60: | Line 61: | ||
|} | |} | ||
Data following the header is encrypted with AES-CTR. The first 12 bytes of the CTR are from offset 0x1C of the header, while the last word of the CTR in big-endian is 0x1. The cleartext data begins with another | Data following the header is encrypted with AES-CTR. The first 12 bytes of the CTR are from offset 0x1C of the header, while the last word of the CTR in big-endian is 0x1. The cleartext data begins with another header. Following that header is the actual content. | ||
=== Content Header === | |||
{| class="wikitable" | |||
|- | |||
! Offset | |||
! Length | |||
! | |||
|- | |||
| 0x0 | |||
| 0x10 | |||
| ? | |||
|- | |||
| 0x10 | |||
| 0x2 | |||
| ? | |||
|- | |||
| 0x12 | |||
| 0x20 | |||
| SHA-256 hash | |||
|- | |||
| 0x32 | |||
| 0x100 | |||
| RSA-2048 signature over the above hash | |||
|} | |||
The hash at offset 0x12 hashes the 0x10-byte data at offset 0x0 followed by a zero u16. | |||
[[Category:Nintendo Software]] | [[Category:Nintendo Software]] |