/*** 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); ~PublicRSA(); bool Verify(const void *buffer, AuUInt length, const void *sigBuffer, AuUInt sigLength, EHashType method, EPaddingType type) override; bool Verify(const AuList &buffer, const AuList &sig, EHashType method, EPaddingType type) override; bool Encrypt(const void *buffer, AuUInt length, EPaddingType type, AuList &out) override; bool Encrypt(const AuList &in, EPaddingType type, AuList &out) override; bool ToKey(ERSAKeyType type, AuList &out) override; private: rsa_key key_; }; }