/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: RSAPublic.hpp Date: 2021-6-12 Author: Reece ***/ #pragma once namespace Aurora::Crypto::RSA { class PublicRSA : public IRSAPublic { public: PublicRSA(rsa_key &key, bool owned = true); ~PublicRSA(); bool Verify(const Memory::MemoryViewRead & payload, const Memory::MemoryViewRead & signature, EHashType method, EPaddingType type) override; bool Encrypt(const Memory::MemoryViewRead & plainText, EPaddingType type, AuList &out) override; bool ToKey(ERSAKeyType type, AuList &out) override; private: rsa_key key_; bool owned_; }; }