summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/ssl/ssl_types.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/service/ssl/ssl_types.h')
-rw-r--r--src/core/hle/service/ssl/ssl_types.h107
1 files changed, 107 insertions, 0 deletions
diff --git a/src/core/hle/service/ssl/ssl_types.h b/src/core/hle/service/ssl/ssl_types.h
new file mode 100644
index 000000000..dbc3dbf64
--- /dev/null
+++ b/src/core/hle/service/ssl/ssl_types.h
@@ -0,0 +1,107 @@
+// 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