/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: CA.hpp Date: 2021-6-11 Author: Reece ***/ #pragma once namespace Aurora::Crypto::RSA { class IRSAPublic; } namespace Aurora::Crypto::CA { class ICertificateStore { public: virtual void AddSignature(const AuSPtr &CA, const Memory::ByteBuffer &sig, EHashType method, EPaddingType type) = 0; virtual void AddPublicCert(const X509::Certificate &cert) = 0; /// For future support of http gets of the CA list virtual bool& AllowHTTPTree() = 0; virtual bool CheckKey(const AuSPtr &pub) = 0; virtual bool CheckCert(const X509::Certificate &cert) = 0; }; AUKN_SHARED_API(NewCA, ICertificateStore); }