AMPXI:VerifyDSiWareFooter

AMPXI:VerifyDSiWareFooter

Request #

Index WordDescription
0Header code [0x004301C8]
1-2u64, TWL Title ID (from header)
3Data size
4ECDSA signature size (must be 0x3C)
5CTCert size (must be 0x180)
6APCert size (must be 0x180)
7u8, DSiWare export section index
8(DataSize << 8) | 0x6
9Data pointer (contains hashes from footer)
10(ECDSASignatureSize << 8) | 0x16
11ECDSA signature pointer (signs data)
12(CTCertSize << 8) | 0x26
13CTCert pointer (from footer)
14(APCertSize << 8) | 0x36
15APCert pointer (from footer)

Response #

Index WordDescription
0Header code [0x00430040]
1Result 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.

When the running NATIVE_FIRM only supports DSiWare exports format v1, the max data size is 0xC0, otherwise the max size is 0x1C0.