diff options
| -rw-r--r-- | src/certificate.cc | 27 | ||||
| -rw-r--r-- | src/certificate.h | 3 |
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; |
