CertificateToString(): allow raw pointer input

This commit is contained in:
Alexander A. Klimov 2023-12-08 10:35:14 +01:00 committed by Yonas Habteab
parent 9e737328b4
commit 34c93a2542
2 changed files with 8 additions and 3 deletions

View File

@ -684,10 +684,10 @@ bool IsCertUptodate(const std::shared_ptr<X509>& cert)
return X509_cmp_time(X509_get_notBefore(cert.get()), &forceRenewalEnd) != -1 && X509_cmp_time(X509_get_notAfter(cert.get()), &renewalStart) != -1; 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<X509>& cert) String CertificateToString(X509* cert)
{ {
BIO *mem = BIO_new(BIO_s_mem()); BIO *mem = BIO_new(BIO_s_mem());
PEM_write_bio_X509(mem, cert.get()); PEM_write_bio_X509(mem, cert);
char *data; char *data;
long len = BIO_get_mem_data(mem, &data); long len = BIO_get_mem_data(mem, &data);

View File

@ -45,7 +45,12 @@ int MakeX509CSR(const String& cn, const String& keyfile, const String& csrfile =
std::shared_ptr<X509> CreateCert(EVP_PKEY *pubkey, X509_NAME *subject, X509_NAME *issuer, EVP_PKEY *cakey, bool ca); std::shared_ptr<X509> CreateCert(EVP_PKEY *pubkey, X509_NAME *subject, X509_NAME *issuer, EVP_PKEY *cakey, bool ca);
String GetIcingaCADir(); String GetIcingaCADir();
String CertificateToString(const std::shared_ptr<X509>& cert); String CertificateToString(X509* cert);
inline String CertificateToString(const std::shared_ptr<X509>& cert)
{
return CertificateToString(cert.get());
}
std::shared_ptr<X509> StringToCertificate(const String& cert); std::shared_ptr<X509> StringToCertificate(const String& cert);
std::shared_ptr<X509> CreateCertIcingaCA(EVP_PKEY *pubkey, X509_NAME *subject); std::shared_ptr<X509> CreateCertIcingaCA(EVP_PKEY *pubkey, X509_NAME *subject);