8 #ifndef BOTAN_CERT_STORE_H__
9 #define BOTAN_CERT_STORE_H__
11 #include <botan/x509cert.h>
12 #include <botan/x509_crl.h>
30 virtual std::shared_ptr<const X509_Certificate>
31 find_cert(
const X509_DN& subject_dn,
const std::vector<uint8_t>& key_id)
const = 0;
39 virtual std::shared_ptr<const X509_Certificate>
40 find_cert_by_pubkey_sha1(
const std::vector<uint8_t>& key_hash)
const = 0;
48 virtual std::shared_ptr<const X509_Certificate>
49 find_cert_by_raw_subject_dn_sha256(
const std::vector<uint8_t>& subject_hash)
const = 0;
56 virtual std::shared_ptr<const X509_CRL> find_crl_for(
const X509_Certificate& subject)
const;
68 virtual std::vector<X509_DN> all_subjects()
const = 0;
103 void add_certificate(std::shared_ptr<const X509_Certificate> cert);
115 void add_crl(std::shared_ptr<const X509_CRL> crl);
120 std::vector<X509_DN> all_subjects()
const override;
125 std::shared_ptr<const X509_Certificate> find_cert(
127 const std::vector<uint8_t>& key_id)
const override;
129 std::shared_ptr<const X509_Certificate>
130 find_cert_by_pubkey_sha1(
const std::vector<uint8_t>& key_hash)
const override;
132 std::shared_ptr<const X509_Certificate>
133 find_cert_by_raw_subject_dn_sha256(
const std::vector<uint8_t>& subject_hash)
const override;
138 std::shared_ptr<const X509_CRL> find_crl_for(
const X509_Certificate& subject)
const override;
141 std::vector<std::shared_ptr<const X509_Certificate>> m_certs;
142 std::vector<std::shared_ptr<const X509_CRL>> m_crls;
bool certificate_known(const X509_Certificate &cert) const
std::vector< uint8_t > subject_key_id() const
X509_DN subject_dn() const