aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/asn1/asn1_obj.h56
-rw-r--r--src/asn1/asn1_str.cpp2
-rw-r--r--src/asn1/asn1_str.h38
-rw-r--r--src/asn1/info.txt4
-rw-r--r--src/asn1/x509_dn.cpp (renamed from src/asn1/asn1_dn.cpp)2
-rw-r--r--src/asn1/x509_dn.h54
-rw-r--r--src/cert/pkcs10/pkcs10.h1
-rw-r--r--src/cert/x509cert/x509cert.h1
8 files changed, 100 insertions, 58 deletions
diff --git a/src/asn1/asn1_obj.h b/src/asn1/asn1_obj.h
index 068ed1565..8a7e6cea2 100644
--- a/src/asn1/asn1_obj.h
+++ b/src/asn1/asn1_obj.h
@@ -11,6 +11,7 @@
#include <botan/asn1_int.h>
#include <botan/asn1_oid.h>
+#include <botan/asn1_str.h>
#include <botan/alg_id.h>
#include <vector>
#include <map>
@@ -62,57 +63,6 @@ class BOTAN_DLL X509_Time : public ASN1_Object
};
/**
-* Simple String
-*/
-class BOTAN_DLL ASN1_String : public ASN1_Object
- {
- public:
- void encode_into(class DER_Encoder&) const;
- void decode_from(class BER_Decoder&);
-
- std::string value() const;
- std::string iso_8859() const;
-
- ASN1_Tag tagging() const;
-
- ASN1_String(const std::string& = "");
- ASN1_String(const std::string&, ASN1_Tag);
- private:
- std::string iso_8859_str;
- ASN1_Tag tag;
- };
-
-/**
-* Distinguished Name
-*/
-class BOTAN_DLL X509_DN : public ASN1_Object
- {
- public:
- void encode_into(class DER_Encoder&) const;
- void decode_from(class BER_Decoder&);
-
- std::multimap<OID, std::string> get_attributes() const;
- std::vector<std::string> get_attribute(const std::string&) const;
-
- std::multimap<std::string, std::string> contents() const;
-
- void add_attribute(const std::string&, const std::string&);
- void add_attribute(const OID&, const std::string&);
-
- static std::string deref_info_field(const std::string&);
-
- void do_decode(const MemoryRegion<byte>&);
- MemoryVector<byte> get_bits() const;
-
- X509_DN();
- X509_DN(const std::multimap<OID, std::string>&);
- X509_DN(const std::multimap<std::string, std::string>&);
- private:
- std::multimap<OID, ASN1_String> dn_info;
- MemoryVector<byte> dn_bits;
- };
-
-/**
* Alternative Name
*/
class BOTAN_DLL AlternativeName : public ASN1_Object
@@ -148,10 +98,6 @@ bool BOTAN_DLL operator>=(const X509_Time&, const X509_Time&);
bool BOTAN_DLL operator<(const X509_Time&, const X509_Time&);
bool BOTAN_DLL operator>(const X509_Time&, const X509_Time&);
-bool BOTAN_DLL operator==(const X509_DN&, const X509_DN&);
-bool BOTAN_DLL operator!=(const X509_DN&, const X509_DN&);
-bool BOTAN_DLL operator<(const X509_DN&, const X509_DN&);
-
/*
* Helper Functions
*/
diff --git a/src/asn1/asn1_str.cpp b/src/asn1/asn1_str.cpp
index 3d79674ec..efdf1a9b3 100644
--- a/src/asn1/asn1_str.cpp
+++ b/src/asn1/asn1_str.cpp
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/asn1_obj.h>
+#include <botan/asn1_str.h>
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
#include <botan/charset.h>
diff --git a/src/asn1/asn1_str.h b/src/asn1/asn1_str.h
new file mode 100644
index 000000000..ba43b0e94
--- /dev/null
+++ b/src/asn1/asn1_str.h
@@ -0,0 +1,38 @@
+/*
+* ASN.1 string type
+* (C) 1999-2010 Jack Lloyd
+*
+* Distributed under the terms of the Botan license
+*/
+
+#ifndef BOTAN_ASN1_STRING_H__
+#define BOTAN_ASN1_STRING_H__
+
+#include <botan/asn1_int.h>
+
+namespace Botan {
+
+/**
+* Simple String
+*/
+class BOTAN_DLL ASN1_String : public ASN1_Object
+ {
+ public:
+ void encode_into(class DER_Encoder&) const;
+ void decode_from(class BER_Decoder&);
+
+ std::string value() const;
+ std::string iso_8859() const;
+
+ ASN1_Tag tagging() const;
+
+ ASN1_String(const std::string& = "");
+ ASN1_String(const std::string&, ASN1_Tag);
+ private:
+ std::string iso_8859_str;
+ ASN1_Tag tag;
+ };
+
+}
+
+#endif
diff --git a/src/asn1/info.txt b/src/asn1/info.txt
index 7ed025e68..e190ad9ea 100644
--- a/src/asn1/info.txt
+++ b/src/asn1/info.txt
@@ -6,13 +6,13 @@ load_on auto
alg_id.cpp
asn1_alt.cpp
asn1_att.cpp
-asn1_dn.cpp
asn1_int.cpp
asn1_oid.cpp
asn1_str.cpp
asn1_tm.cpp
ber_dec.cpp
der_enc.cpp
+x509_dn.cpp
</source>
<header:public>
@@ -20,8 +20,10 @@ alg_id.h
asn1_int.h
asn1_obj.h
asn1_oid.h
+asn1_str.h
ber_dec.h
der_enc.h
+x509_dn.h
</header:public>
<requires>
diff --git a/src/asn1/asn1_dn.cpp b/src/asn1/x509_dn.cpp
index 1de8b8c7f..0a4760391 100644
--- a/src/asn1/asn1_dn.cpp
+++ b/src/asn1/x509_dn.cpp
@@ -5,7 +5,7 @@
* Distributed under the terms of the Botan license
*/
-#include <botan/asn1_obj.h>
+#include <botan/x509_dn.h>
#include <botan/der_enc.h>
#include <botan/ber_dec.h>
#include <botan/parsing.h>
diff --git a/src/asn1/x509_dn.h b/src/asn1/x509_dn.h
new file mode 100644
index 000000000..c4fc2d17b
--- /dev/null
+++ b/src/asn1/x509_dn.h
@@ -0,0 +1,54 @@
+/*
+* X.509 Distinguished Name
+* (C) 1999-2010 Jack Lloyd
+*
+* Distributed under the terms of the Botan license
+*/
+
+#ifndef BOTAN_X509_DN_H__
+#define BOTAN_X509_DN_H__
+
+#include <botan/asn1_int.h>
+#include <botan/asn1_oid.h>
+#include <botan/asn1_str.h>
+#include <map>
+
+namespace Botan {
+
+/**
+* Distinguished Name
+*/
+class BOTAN_DLL X509_DN : public ASN1_Object
+ {
+ public:
+ void encode_into(class DER_Encoder&) const;
+ void decode_from(class BER_Decoder&);
+
+ std::multimap<OID, std::string> get_attributes() const;
+ std::vector<std::string> get_attribute(const std::string&) const;
+
+ std::multimap<std::string, std::string> contents() const;
+
+ void add_attribute(const std::string&, const std::string&);
+ void add_attribute(const OID&, const std::string&);
+
+ static std::string deref_info_field(const std::string&);
+
+ void do_decode(const MemoryRegion<byte>&);
+ MemoryVector<byte> get_bits() const;
+
+ X509_DN();
+ X509_DN(const std::multimap<OID, std::string>&);
+ X509_DN(const std::multimap<std::string, std::string>&);
+ private:
+ std::multimap<OID, ASN1_String> dn_info;
+ MemoryVector<byte> dn_bits;
+ };
+
+bool BOTAN_DLL operator==(const X509_DN&, const X509_DN&);
+bool BOTAN_DLL operator!=(const X509_DN&, const X509_DN&);
+bool BOTAN_DLL operator<(const X509_DN&, const X509_DN&);
+
+}
+
+#endif
diff --git a/src/cert/pkcs10/pkcs10.h b/src/cert/pkcs10/pkcs10.h
index d1be9e0d3..bd01fb6b5 100644
--- a/src/cert/pkcs10/pkcs10.h
+++ b/src/cert/pkcs10/pkcs10.h
@@ -9,6 +9,7 @@
#define BOTAN_PKCS10_H__
#include <botan/x509_obj.h>
+#include <botan/x509_dn.h>
#include <botan/pkcs8.h>
#include <botan/datastor.h>
#include <vector>
diff --git a/src/cert/x509cert/x509cert.h b/src/cert/x509cert/x509cert.h
index dc7ef4dbb..754553f3d 100644
--- a/src/cert/x509cert/x509cert.h
+++ b/src/cert/x509cert/x509cert.h
@@ -9,6 +9,7 @@
#define BOTAN_X509_CERTS_H__
#include <botan/x509_obj.h>
+#include <botan/x509_dn.h>
#include <botan/x509_key.h>
#include <botan/datastor.h>
#include <botan/pubkey_enums.h>