diff --git a/lib/base/tlsutility.cpp b/lib/base/tlsutility.cpp index 803eecb7e..eb35139ea 100644 --- a/lib/base/tlsutility.cpp +++ b/lib/base/tlsutility.cpp @@ -684,10 +684,10 @@ bool IsCertUptodate(const std::shared_ptr& cert) return X509_cmp_time(X509_get_notBefore(cert.get()), &forceRenewalEnd) != -1 && X509_cmp_time(X509_get_notAfter(cert.get()), &renewalStart) != -1; } -String CertificateToString(const std::shared_ptr& cert) +String CertificateToString(X509* cert) { BIO *mem = BIO_new(BIO_s_mem()); - PEM_write_bio_X509(mem, cert.get()); + PEM_write_bio_X509(mem, cert); char *data; long len = BIO_get_mem_data(mem, &data); diff --git a/lib/base/tlsutility.hpp b/lib/base/tlsutility.hpp index b0ab17c44..5bc5671b8 100644 --- a/lib/base/tlsutility.hpp +++ b/lib/base/tlsutility.hpp @@ -45,7 +45,12 @@ int MakeX509CSR(const String& cn, const String& keyfile, const String& csrfile = std::shared_ptr CreateCert(EVP_PKEY *pubkey, X509_NAME *subject, X509_NAME *issuer, EVP_PKEY *cakey, bool ca); String GetIcingaCADir(); -String CertificateToString(const std::shared_ptr& cert); +String CertificateToString(X509* cert); + +inline String CertificateToString(const std::shared_ptr& cert) +{ + return CertificateToString(cert.get()); +} std::shared_ptr StringToCertificate(const String& cert); std::shared_ptr CreateCertIcingaCA(EVP_PKEY *pubkey, X509_NAME *subject);