aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/x509/x509_ext.h
diff options
context:
space:
mode:
authorJack Lloyd <[email protected]>2018-01-03 12:17:02 -0500
committerJack Lloyd <[email protected]>2018-01-03 12:17:02 -0500
commitc697fe0a2f199b4ccc415f5a3e2d0182d91a8fa7 (patch)
tree4c4d397ce577af7f9f4dbd49ba6159567432bf2d /src/lib/x509/x509_ext.h
parentb1297f6352e2a24db7cd0776a788ac4570f1dcb2 (diff)
parentb8b962648f8b8b564026e18a94e2e0f3f4757626 (diff)
Merge GH #1381 Support caIssuers in AIA X509 extension
Diffstat (limited to 'src/lib/x509/x509_ext.h')
-rw-r--r--src/lib/x509/x509_ext.h11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/lib/x509/x509_ext.h b/src/lib/x509/x509_ext.h
index 235496cbd..8e702daf1 100644
--- a/src/lib/x509/x509_ext.h
+++ b/src/lib/x509/x509_ext.h
@@ -544,21 +544,25 @@ class BOTAN_PUBLIC_API(2,0) Certificate_Policies final : public Certificate_Exte
std::vector<OID> m_oids;
};
+/**
+* Authority Information Access Extension
+*/
class BOTAN_PUBLIC_API(2,0) Authority_Information_Access final : public Certificate_Extension
{
public:
Authority_Information_Access* copy() const override
- { return new Authority_Information_Access(m_ocsp_responder); }
+ { return new Authority_Information_Access(m_ocsp_responder, m_ca_issuers); }
Authority_Information_Access() = default;
- explicit Authority_Information_Access(const std::string& ocsp) :
- m_ocsp_responder(ocsp) {}
+ explicit Authority_Information_Access(const std::string& ocsp, const std::vector<std::string>& ca_issuers = std::vector<std::string>()) :
+ m_ocsp_responder(ocsp), m_ca_issuers(ca_issuers) {}
std::string ocsp_responder() const { return m_ocsp_responder; }
static OID static_oid() { return OID("1.3.6.1.5.5.7.1.1"); }
OID oid_of() const override { return static_oid(); }
+ const std::vector<std::string> ca_issuers() const { return m_ca_issuers; }
private:
std::string oid_name() const override
@@ -572,6 +576,7 @@ class BOTAN_PUBLIC_API(2,0) Authority_Information_Access final : public Certific
void contents_to(Data_Store&, Data_Store&) const override;
std::string m_ocsp_responder;
+ std::vector<std::string> m_ca_issuers;
};
/**