mirror of https://github.com/yuzu-emu/yuzu
108 lines
3.3 KiB
C++
108 lines
3.3 KiB
C++
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
|
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
|
|
#pragma once
|
|
|
|
#include "common/common_types.h"
|
|
|
|
namespace Service::SSL {
|
|
|
|
enum class CaCertificateId : s32 {
|
|
All = -1,
|
|
NintendoCAG3 = 1,
|
|
NintendoClass2CAG3 = 2,
|
|
NintendoRootCAG4 = 3,
|
|
AmazonRootCA1 = 1000,
|
|
StarfieldServicesRootCertificateAuthorityG2 = 1001,
|
|
AddTrustExternalCARoot = 1002,
|
|
COMODOCertificationAuthority = 1003,
|
|
UTNDATACorpSGC = 1004,
|
|
UTNUSERFirstHardware = 1005,
|
|
BaltimoreCyberTrustRoot = 1006,
|
|
CybertrustGlobalRoot = 1007,
|
|
VerizonGlobalRootCA = 1008,
|
|
DigiCertAssuredIDRootCA = 1009,
|
|
DigiCertAssuredIDRootG2 = 1010,
|
|
DigiCertGlobalRootCA = 1011,
|
|
DigiCertGlobalRootG2 = 1012,
|
|
DigiCertHighAssuranceEVRootCA = 1013,
|
|
EntrustnetCertificationAuthority2048 = 1014,
|
|
EntrustRootCertificationAuthority = 1015,
|
|
EntrustRootCertificationAuthorityG2 = 1016,
|
|
GeoTrustGlobalCA2 = 1017,
|
|
GeoTrustGlobalCA = 1018,
|
|
GeoTrustPrimaryCertificationAuthorityG3 = 1019,
|
|
GeoTrustPrimaryCertificationAuthority = 1020,
|
|
GlobalSignRootCA = 1021,
|
|
GlobalSignRootCAR2 = 1022,
|
|
GlobalSignRootCAR3 = 1023,
|
|
GoDaddyClass2CertificationAuthority = 1024,
|
|
GoDaddyRootCertificateAuthorityG2 = 1025,
|
|
StarfieldClass2CertificationAuthority = 1026,
|
|
StarfieldRootCertificateAuthorityG2 = 1027,
|
|
thawtePrimaryRootCAG3 = 1028,
|
|
thawtePrimaryRootCA = 1029,
|
|
VeriSignClass3PublicPrimaryCertificationAuthorityG3 = 1030,
|
|
VeriSignClass3PublicPrimaryCertificationAuthorityG5 = 1031,
|
|
VeriSignUniversalRootCertificationAuthority = 1032,
|
|
DSTRootCAX3 = 1033,
|
|
USERTrustRsaCertificationAuthority = 1034,
|
|
ISRGRootX10 = 1035,
|
|
USERTrustEccCertificationAuthority = 1036,
|
|
COMODORsaCertificationAuthority = 1037,
|
|
COMODOEccCertificationAuthority = 1038,
|
|
AmazonRootCA2 = 1039,
|
|
AmazonRootCA3 = 1040,
|
|
AmazonRootCA4 = 1041,
|
|
DigiCertAssuredIDRootG3 = 1042,
|
|
DigiCertGlobalRootG3 = 1043,
|
|
DigiCertTrustedRootG4 = 1044,
|
|
EntrustRootCertificationAuthorityEC1 = 1045,
|
|
EntrustRootCertificationAuthorityG4 = 1046,
|
|
GlobalSignECCRootCAR4 = 1047,
|
|
GlobalSignECCRootCAR5 = 1048,
|
|
GlobalSignECCRootCAR6 = 1049,
|
|
GTSRootR1 = 1050,
|
|
GTSRootR2 = 1051,
|
|
GTSRootR3 = 1052,
|
|
GTSRootR4 = 1053,
|
|
SecurityCommunicationRootCA = 1054,
|
|
GlobalSignRootE4 = 1055,
|
|
GlobalSignRootR4 = 1056,
|
|
TTeleSecGlobalRootClass2 = 1057,
|
|
DigiCertTLSECCP384RootG5 = 1058,
|
|
DigiCertTLSRSA4096RootG5 = 1059,
|
|
};
|
|
|
|
enum class TrustedCertStatus : s32 {
|
|
Invalid = -1,
|
|
Removed = 0,
|
|
EnabledTrusted = 1,
|
|
EnabledNotTrusted = 2,
|
|
Revoked = 3,
|
|
};
|
|
|
|
struct BuiltInCertificateInfo {
|
|
CaCertificateId cert_id;
|
|
TrustedCertStatus status;
|
|
u64 der_size;
|
|
u64 der_offset;
|
|
};
|
|
static_assert(sizeof(BuiltInCertificateInfo) == 0x18, "BuiltInCertificateInfo has incorrect size.");
|
|
|
|
struct CertStoreHeader {
|
|
u32 magic;
|
|
u32 num_entries;
|
|
};
|
|
static_assert(sizeof(CertStoreHeader) == 0x8, "CertStoreHeader has incorrect size.");
|
|
|
|
struct CertStoreEntry {
|
|
CaCertificateId certificate_id;
|
|
TrustedCertStatus certificate_status;
|
|
u32 der_size;
|
|
u32 der_offset;
|
|
};
|
|
static_assert(sizeof(CertStoreEntry) == 0x10, "CertStoreEntry has incorrect size.");
|
|
|
|
} // namespace Service::SSL
|