From 5c60773269e682ba2d31dc56bdd44d43ff4c35b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20W=C3=A4ckerlin?= Date: Fri, 18 Sep 2009 13:57:51 +0000 Subject: [PATCH] X509 subject to DER --- src/openssl.hxx | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/openssl.hxx b/src/openssl.hxx index 6f00f80..15faa1d 100644 --- a/src/openssl.hxx +++ b/src/openssl.hxx @@ -205,7 +205,7 @@ namespace openssl { if (!len) throw x509_copy_failed(); const unsigned char* d2(d); _x509 = d2i_X509(0, &d2, len); - free(d); + OPENSSL_free(d); if (!_x509) throw x509_copy_failed(); } //! Take over OpenSSL allocated certificate. @@ -226,6 +226,14 @@ namespace openssl { _x509 = d2i_X509(0, &d2, len); if (!_x509) throw x509_copy_failed(); } + //! Get DER encoded subject. + std::string subjectDER() const { + char* c(0); + int len(i2d_X509_NAME(X509_get_subject_name(_x509), &c)); + std::String res(c, len); + OPENSSL_free(c); + return res; + } private: ::X509* _x509; };