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]]. This header format is big-endian.
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 unknown SpotPass header which contains the RSA-2048 signature. Following that header is the actual content.
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]]