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