Files
Project_CTR/makerom/certs.h
T
applestash c7c2c3f73e makerom: fixes
Moved away from ctrtool's polarssl api completely. Brought certs.c/h
inline with code style, fixed bugs relating to tmd savedata field
generation and not recording savedata size from rsf (ncsd.c)
2014-09-16 19:15:56 +10:00

44 lines
703 B
C

#pragma once
typedef struct
{
u8 issuer[0x40];
u8 keyType[4];
u8 name[0x40];
u8 id[4];
} cert_hdr;
typedef struct
{
u8 modulus[0x200];
u8 pubExponent[4];
u8 padding[0x34];
} rsa_4096_pubk_struct;
typedef struct
{
u8 modulus[0x100];
u8 pubExponent[4];
u8 padding[0x34];
} rsa_2048_pubk_struct;
typedef struct
{
u8 pubK[0x3C];
u8 padding[0x3C];
} ecc_pubk_struct;
// Cert Sizes
u32 GetCertSize(u8 *cert);
u32 GetCertPubkSectionSize(pubk_types type);
// Issuer/Name Functions
u8 *GetCertIssuer(u8 *cert);
u8 *GetCertName(u8 *cert);
void GenCertChildIssuer(u8 *dest, u8 *cert);
// Pubk
pubk_types GetCertPubkType(u8 *cert);
u8 *GetCertPubk(u8 *cert);
bool VerifyCert(u8 *cert, u8 *pubk);