// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #pragma once #include #include #include #include "core/hle/result.h" #include "core/hle/service/ssl/ssl_types.h" namespace Core { class System; } namespace Service::SSL { class CertStore { public: explicit CertStore(Core::System& system); ~CertStore(); Result GetCertificates(u32* out_num_entries, std::span out_data, std::span certificate_ids); Result GetCertificateBufSize(u32* out_size, u32* out_num_entries, std::span certificate_ids); private: template void ForEachCertificate(std::span certs, F&& f); private: struct Certificate { TrustedCertStatus status; std::vector der_data; }; std::map m_certs; }; } // namespace Service::SSL