From 34c93a2542bbe4e9886d15bc17ec929ead1aa152 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Fri, 8 Dec 2023 10:35:14 +0100 Subject: [PATCH] CertificateToString(): allow raw pointer input --- lib/base/tlsutility.cpp | 4 ++-- lib/base/tlsutility.hpp | 7 ++++++- 2 files changed, 8 insertions(+), 3 deletions(-) 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);