44 std::vector<X509_DN> all_subjects()
const override;
50 std::vector<X509_Certificate> find_all_certs(
const X509_DN& subject_dn,
51 const std::vector<uint8_t>& key_id)
const override;
58 std::optional<X509_Certificate> find_cert_by_pubkey_sha1(
const std::vector<uint8_t>& key_hash)
const override;
60 std::optional<X509_Certificate> find_cert_by_raw_subject_dn_sha256(
61 const std::vector<uint8_t>& subject_hash)
const override;
63 std::optional<X509_Certificate> find_cert_by_issuer_dn_and_serial_number(
64 const X509_DN& issuer_dn, std::span<const uint8_t> serial_number)
const override;
70 std::optional<X509_CRL> find_crl_for(
const X509_Certificate& subject)
const override;
73 std::vector<X509_DN> m_all_subjects;
74 std::map<X509_DN, std::vector<X509_Certificate>> m_dn_to_cert;
75 std::map<std::vector<uint8_t>, std::optional<X509_Certificate>> m_pubkey_sha1_to_cert;
76 std::map<std::vector<uint8_t>, std::optional<X509_Certificate>> m_subject_dn_sha256_to_cert;
77 std::map<X509_DN, std::vector<X509_Certificate>> m_issuer_dn_to_cert;