// Copyright 2020 Citra Emulator Project // Licensed under GPLv2 or any later version // Refer to the license.txt file included. #pragma once #include #include #include "common/common_types.h" namespace HW::RSA { class RsaSlot { public: RsaSlot() = default; RsaSlot(std::vector exponent, std::vector modulus) : init(true), exponent(std::move(exponent)), modulus(std::move(modulus)) {} std::vector GetSignature(std::span message) const; explicit operator bool() const { // TODO(B3N30): Maybe check if exponent and modulus are vailid return init; } private: bool init = false; std::vector exponent; std::vector modulus; }; void InitSlots(); RsaSlot GetSlot(std::size_t slot_id); std::vector CreateASN1Message(std::span data); } // namespace HW::RSA