From aca6a2b04313af94f44a2ac68ca4f2a5d57336bf Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Mon, 16 Jan 2023 21:16:54 +0100 Subject: Add some new issuer access methods. --- src/certificate.cc | 27 +++++++++++++++++++++++++++ src/certificate.h | 3 +++ 2 files changed, 30 insertions(+) (limited to 'src') diff --git a/src/certificate.cc b/src/certificate.cc index 1e7714a3..c447be76 100644 --- a/src/certificate.cc +++ b/src/certificate.cc @@ -245,6 +245,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) { 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; -- cgit v1.2.3