8 #ifndef BOTAN_CERT_STORE_H_ 9 #define BOTAN_CERT_STORE_H_ 11 #include <botan/x509cert.h> 12 #include <botan/x509_crl.h> 32 virtual std::shared_ptr<const X509_Certificate>
33 find_cert(
const X509_DN& subject_dn,
const std::vector<uint8_t>& key_id)
const;
39 virtual std::vector<std::shared_ptr<const X509_Certificate>> find_all_certs(
40 const X509_DN& subject_dn,
const std::vector<uint8_t>& key_id)
const = 0;
49 virtual std::shared_ptr<const X509_Certificate>
50 find_cert_by_pubkey_sha1(
const std::vector<uint8_t>& key_hash)
const = 0;
58 virtual std::shared_ptr<const X509_Certificate>
59 find_cert_by_raw_subject_dn_sha256(
const std::vector<uint8_t>& subject_hash)
const = 0;
66 virtual std::shared_ptr<const X509_CRL> find_crl_for(
const X509_Certificate& subject)
const;
78 virtual std::vector<X509_DN> all_subjects()
const = 0;
113 void add_certificate(std::shared_ptr<const X509_Certificate> cert);
125 void add_crl(std::shared_ptr<const X509_CRL> crl);
130 std::vector<X509_DN> all_subjects()
const override;
136 std::shared_ptr<const X509_Certificate> find_cert(
138 const std::vector<uint8_t>& key_id)
const override;
144 std::vector<std::shared_ptr<const X509_Certificate>> find_all_certs(
145 const X509_DN& subject_dn,
const std::vector<uint8_t>& key_id)
const override;
147 std::shared_ptr<const X509_Certificate>
148 find_cert_by_pubkey_sha1(
const std::vector<uint8_t>& key_hash)
const override;
150 std::shared_ptr<const X509_Certificate>
151 find_cert_by_raw_subject_dn_sha256(
const std::vector<uint8_t>& subject_hash)
const override;
156 std::shared_ptr<const X509_CRL> find_crl_for(
const X509_Certificate& subject)
const override;
159 std::vector<std::shared_ptr<const X509_Certificate>> m_certs;
160 std::vector<std::shared_ptr<const X509_CRL>> m_crls;
bool certificate_known(const X509_Certificate &cert) const
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
const std::vector< uint8_t > & subject_key_id() const
const X509_DN & subject_dn() const