Difference between revisions of "AMPXI:VerifyDSiWareFooter"

From 3dbrew
Jump to navigation Jump to search
Line 68: Line 68:
  
 
=Description=
 
=Description=
This verifies the ECDSA signature and certificates from the [[DSiWare_Exports|DSiWare]] export footer.
+
This verifies the ECDSA signature and certificates from the [[DSiWare_Exports|DSiWare]] export footer. The input CTCert is verified with a DER stored in NATIVE_FIRM, separate DERs are used for retail and dev/debug.

Revision as of 21:41, 25 April 2013

Request

Index Word Description
0 Header code [0x004301C8]
1 TWL TitleID lower word, from the header.
2 TWL TitleID upper word, from the header.
3 Data buffer size. When the running NATIVE_FIRM only supports DSiWare exports format v1, the max size for this is 0xC0, otherwise the max size is 0x1C0.
4 ECDSA signature buffer size, must be 0x3C.
5 CTCert buffer size, must be 0x180.
6 APCert buffer size, must be 0x180.
7 u8 DSiWare export section index
8 (DataBufSize<<8) | 0x4
9 DataBuf ptr, this buffer contains the hashes from the footer.
10 (SigBufSize<<8) | 0x14
11 ECDSA signature ptr, this signs the above data-buffer.
12 (CTCertSize<<8) | 0x24
13 CTCert buffer ptr, from the footer.
14 (APCertSize<<8) | 0x34
15 APCert buffer ptr, from the footer.

Response

Index Word Description
0 Header code
1 Result code

Description

This verifies the ECDSA signature and certificates from the DSiWare export footer. The input CTCert is verified with a DER stored in NATIVE_FIRM, separate DERs are used for retail and dev/debug.