mirror of
https://github.com/DarkStore-3DS/Project_CTR.git
synced 2026-07-02 16:59:03 +00:00
47 lines
856 B
C
47 lines
856 B
C
#ifndef _CERTS_H_
|
|
#define _CERTS_H_
|
|
|
|
typedef struct
|
|
{
|
|
u8 Issuer[0x40];
|
|
u8 KeyType[4];
|
|
u8 Name[0x40];
|
|
u8 Unknown[4];
|
|
} Cert_Struct;
|
|
|
|
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;
|
|
|
|
#endif
|
|
// Cert Sizes
|
|
u32 GetCertSize(u8 *cert);
|
|
void GetCertSigSectionSizes(u32 *SigSize, u32 *SigPadding, u8 *cert);
|
|
u32 GetCertPubkSectionSize(pubk_types type);
|
|
|
|
// Issuer/Name Functions
|
|
u8 *GetCertIssuer(u8 *cert);
|
|
u8 *GetCertName(u8 *cert);
|
|
int GenCertChildIssuer(u8 *dest, u8 *cert);
|
|
|
|
// Pubk
|
|
pubk_types GetCertPubkType(u8 *cert);
|
|
u8 *GetCertPubk(u8 *cert);
|
|
|
|
bool VerifyCert(u8 *cert, u8 *pubk); |