aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/x509/pkcs10.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/x509/pkcs10.h')
-rw-r--r--src/lib/x509/pkcs10.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/lib/x509/pkcs10.h b/src/lib/x509/pkcs10.h
index 973b91b8a..abed5fa75 100644
--- a/src/lib/x509/pkcs10.h
+++ b/src/lib/x509/pkcs10.h
@@ -12,7 +12,6 @@
#include <botan/x509_obj.h>
#include <botan/x509_dn.h>
#include <botan/x509_ext.h>
-#include <botan/datastor.h>
#include <botan/key_constraint.h>
#include <botan/asn1_attribute.h>
#include <botan/asn1_alt_name.h>
@@ -20,6 +19,8 @@
namespace Botan {
+struct PKCS10_Data;
+
/**
* PKCS #10 Certificate Request.
*/
@@ -36,19 +37,19 @@ class BOTAN_PUBLIC_API(2,0) PKCS10_Request final : public X509_Object
* Get the raw DER encoded public key.
* @return raw DER encoded public key
*/
- std::vector<uint8_t> raw_public_key() const;
+ const std::vector<uint8_t>& raw_public_key() const;
/**
* Get the subject DN.
* @return subject DN
*/
- X509_DN subject_dn() const;
+ const X509_DN& subject_dn() const;
/**
* Get the subject alternative name.
* @return subject alternative name.
*/
- AlternativeName subject_alt_name() const;
+ const AlternativeName& subject_alt_name() const;
/**
* Get the key constraints for the key associated with this
@@ -86,7 +87,7 @@ class BOTAN_PUBLIC_API(2,0) PKCS10_Request final : public X509_Object
* Get the X509v3 extensions.
* @return X509v3 extensions
*/
- Extensions extensions() const;
+ const Extensions& extensions() const;
/**
* Create a PKCS#10 Request from a data source.
@@ -110,10 +111,10 @@ class BOTAN_PUBLIC_API(2,0) PKCS10_Request final : public X509_Object
explicit PKCS10_Request(const std::vector<uint8_t>& vec);
private:
void force_decode() override;
- void handle_attribute(const Attribute&);
- Data_Store m_info;
- Extensions m_extensions;
+ const PKCS10_Data& data() const;
+
+ std::shared_ptr<PKCS10_Data> m_data;
};
}