8#ifndef BOTAN_CERT_STORE_H_
9#define BOTAN_CERT_STORE_H_
11#include <botan/pkix_types.h>
12#include <botan/x509_crl.h>
13#include <botan/x509cert.h>
36 const std::vector<uint8_t>& key_id)
const;
43 const std::vector<uint8_t>& key_id)
const = 0;
60 const std::vector<uint8_t>& subject_hash)
const = 0;
70 const X509_DN& issuer_dn, std::span<const uint8_t> serial_number)
const = 0;
101#if defined(BOTAN_TARGET_OS_HAS_FILESYSTEM)
154 const std::vector<uint8_t>& key_id)
const override;
161 const std::vector<uint8_t>& key_id)
const override;
166 const std::vector<uint8_t>& subject_hash)
const override;
169 const X509_DN& issuer_dn, std::span<const uint8_t> serial_number)
const override;
182 const Impl& impl()
const;
184 std::unique_ptr<Impl> m_impl;
#define BOTAN_PUBLIC_API(maj, min)
Certificate_Store_In_Memory(const X509_Certificate &cert)
std::optional< X509_Certificate > find_cert_by_issuer_dn_and_serial_number(const X509_DN &issuer_dn, std::span< const uint8_t > serial_number) const override
std::vector< X509_Certificate > find_all_certs(const X509_DN &subject_dn, const std::vector< uint8_t > &key_id) const override
std::optional< X509_Certificate > find_cert_by_pubkey_sha1(const std::vector< uint8_t > &key_hash) const override
Certificate_Store_In_Memory(Certificate_Store_In_Memory &&other) noexcept
std::optional< X509_Certificate > find_cert(const X509_DN &subject_dn, const std::vector< uint8_t > &key_id) const override
~Certificate_Store_In_Memory() override
Certificate_Store_In_Memory & operator=(Certificate_Store_In_Memory &&other) noexcept
Certificate_Store_In_Memory & operator=(const Certificate_Store_In_Memory &other)=delete
void add_crl(const X509_CRL &crl)
std::optional< X509_Certificate > find_cert_by_raw_subject_dn_sha256(const std::vector< uint8_t > &subject_hash) const override
std::optional< X509_CRL > find_crl_for(const X509_Certificate &subject) const override
bool contains(const X509_Certificate &cert) const override
void add_certificate(const X509_Certificate &cert)
std::vector< X509_DN > all_subjects() const override
virtual std::optional< X509_CRL > find_crl_for(const X509_Certificate &subject) const
bool certificate_known(const X509_Certificate &cert) const
virtual std::vector< X509_DN > all_subjects() const =0
virtual std::optional< X509_Certificate > find_cert_by_raw_subject_dn_sha256(const std::vector< uint8_t > &subject_hash) const =0
virtual bool contains(const X509_Certificate &cert) const
virtual ~Certificate_Store()
virtual std::optional< X509_Certificate > find_cert_by_issuer_dn_and_serial_number(const X509_DN &issuer_dn, std::span< const uint8_t > serial_number) const =0
virtual std::optional< X509_Certificate > find_cert_by_pubkey_sha1(const std::vector< uint8_t > &key_hash) const =0
virtual std::vector< X509_Certificate > find_all_certs(const X509_DN &subject_dn, const std::vector< uint8_t > &key_id) const =0
virtual std::optional< X509_Certificate > find_cert(const X509_DN &subject_dn, const std::vector< uint8_t > &key_id) const