mirror of
https://github.com/DarkStore-3DS/Project_CTR.git
synced 2026-07-03 00:39:14 +00:00
c7c2c3f73e
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)
44 lines
703 B
C
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); |