Botan  2.19.1
Crypto and TLS for C++11
certstor_system.h
Go to the documentation of this file.
1 /*
2 * (C) 2019 Jack Lloyd
3 *
4 * Botan is released under the Simplified BSD License (see license.txt)
5 */
6 
7 #ifndef BOTAN_SYSTEM_CERT_STORE_H_
8 #define BOTAN_SYSTEM_CERT_STORE_H_
9 
10 #include <botan/certstor.h>
11 
12 namespace Botan {
13 
15  {
16  public:
17 
19 
20  std::shared_ptr<const X509_Certificate>
21  find_cert(const X509_DN& subject_dn, const std::vector<uint8_t>& key_id) const override;
22 
23  std::vector<std::shared_ptr<const X509_Certificate>>
24  find_all_certs(const X509_DN& subject_dn, const std::vector<uint8_t>& key_id) const override;
25 
26  std::shared_ptr<const X509_Certificate>
27  find_cert_by_pubkey_sha1(const std::vector<uint8_t>& key_hash) const override;
28 
29  std::shared_ptr<const X509_Certificate>
30  find_cert_by_raw_subject_dn_sha256(const std::vector<uint8_t>& subject_hash) const override;
31 
32  std::shared_ptr<const X509_CRL> find_crl_for(const X509_Certificate& subject) const override;
33 
34  std::vector<X509_DN> all_subjects() const override;
35 
36  private:
37  std::shared_ptr<Certificate_Store> m_system_store;
38  };
39 
40 }
41 
42 #endif
int(* final)(unsigned char *, CTX *)
#define BOTAN_PUBLIC_API(maj, min)
Definition: compiler.h:31
Definition: alg_id.cpp:13