summaryrefslogtreecommitdiffstats
path: root/comm/third_party/botan/src/lib/x509/certstor_system/certstor_system.h
diff options
context:
space:
mode:
Diffstat (limited to 'comm/third_party/botan/src/lib/x509/certstor_system/certstor_system.h')
-rw-r--r--comm/third_party/botan/src/lib/x509/certstor_system/certstor_system.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/comm/third_party/botan/src/lib/x509/certstor_system/certstor_system.h b/comm/third_party/botan/src/lib/x509/certstor_system/certstor_system.h
new file mode 100644
index 0000000000..3a0fc6153a
--- /dev/null
+++ b/comm/third_party/botan/src/lib/x509/certstor_system/certstor_system.h
@@ -0,0 +1,42 @@
+/*
+* (C) 2019 Jack Lloyd
+*
+* Botan is released under the Simplified BSD License (see license.txt)
+*/
+
+#ifndef BOTAN_SYSTEM_CERT_STORE_H_
+#define BOTAN_SYSTEM_CERT_STORE_H_
+
+#include <botan/certstor.h>
+
+namespace Botan {
+
+class BOTAN_PUBLIC_API(2,11) System_Certificate_Store final : public Certificate_Store
+ {
+ public:
+
+ System_Certificate_Store();
+
+ std::shared_ptr<const X509_Certificate>
+ find_cert(const X509_DN& subject_dn, const std::vector<uint8_t>& key_id) const override;
+
+ std::vector<std::shared_ptr<const X509_Certificate>>
+ find_all_certs(const X509_DN& subject_dn, const std::vector<uint8_t>& key_id) const override;
+
+ std::shared_ptr<const X509_Certificate>
+ find_cert_by_pubkey_sha1(const std::vector<uint8_t>& key_hash) const override;
+
+ std::shared_ptr<const X509_Certificate>
+ find_cert_by_raw_subject_dn_sha256(const std::vector<uint8_t>& subject_hash) const override;
+
+ std::shared_ptr<const X509_CRL> find_crl_for(const X509_Certificate& subject) const override;
+
+ std::vector<X509_DN> all_subjects() const override;
+
+ private:
+ std::shared_ptr<Certificate_Store> m_system_store;
+ };
+
+}
+
+#endif