summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2023-01-16 21:16:54 +0100
committerCarl Hetherington <cth@carlh.net>2023-01-16 21:16:54 +0100
commitaca6a2b04313af94f44a2ac68ca4f2a5d57336bf (patch)
treeb1a993a16adf9b104373c20b789fe2ff16205426 /src
parentd24b16a9b1ad2fdaef264d9c9e7ab23a95a98ad1 (diff)
Add some new issuer access methods.v1.8.52
Diffstat (limited to 'src')
-rw-r--r--src/certificate.cc27
-rw-r--r--src/certificate.h3
2 files changed, 30 insertions, 0 deletions
diff --git a/src/certificate.cc b/src/certificate.cc
index 1e7714a3..c447be76 100644
--- a/src/certificate.cc
+++ b/src/certificate.cc
@@ -246,6 +246,33 @@ Certificate::issuer () const
string
+Certificate::issuer_common_name() const
+{
+ DCP_ASSERT(_certificate);
+
+ return get_name_part(X509_get_issuer_name(_certificate), NID_commonName);
+}
+
+
+string
+Certificate::issuer_organization_name() const
+{
+ DCP_ASSERT(_certificate);
+
+ return get_name_part(X509_get_issuer_name(_certificate), NID_organizationName);
+}
+
+
+string
+Certificate::issuer_organizational_unit_name() const
+{
+ DCP_ASSERT(_certificate);
+
+ return get_name_part(X509_get_issuer_name(_certificate), NID_organizationalUnitName);
+}
+
+
+string
Certificate::asn_to_utf8 (ASN1_STRING* s)
{
unsigned char* buf = 0;
diff --git a/src/certificate.h b/src/certificate.h
index 49fca02c..642bf890 100644
--- a/src/certificate.h
+++ b/src/certificate.h
@@ -102,6 +102,9 @@ public:
* and with + signs escaped to \+
*/
std::string issuer () const;
+ std::string issuer_common_name() const;
+ std::string issuer_organization_name() const;
+ std::string issuer_organizational_unit_name() const;
std::string subject () const;
std::string subject_common_name () const;