From ba44c3921c205b2393b7fe5cdbbbef3c1d3c724a Mon Sep 17 00:00:00 2001 From: Michael Friedrich Date: Tue, 28 May 2019 13:03:34 +0200 Subject: [PATCH] Quality: Remove old MakeSSLContext() interface --- lib/base/tlsutility.cpp | 19 ------------------- lib/base/tlsutility.hpp | 7 ++++++- 2 files changed, 6 insertions(+), 20 deletions(-) diff --git a/lib/base/tlsutility.cpp b/lib/base/tlsutility.cpp index 59bf54bf0..cc6fe8c17 100644 --- a/lib/base/tlsutility.cpp +++ b/lib/base/tlsutility.cpp @@ -129,25 +129,6 @@ static void SetupSslContext(SSL_CTX *sslContext, const String& pubkey, const Str } } -/** - * Initializes an SSL context using the specified certificates. - * - * @param pubkey The public key. - * @param privkey The matching private key. - * @param cakey CA certificate chain file. - * @returns An SSL context. - */ -std::shared_ptr MakeSSLContext(const String& pubkey, const String& privkey, const String& cakey) -{ - InitializeOpenSSL(); - - std::shared_ptr sslContext = std::shared_ptr(SSL_CTX_new(SSLv23_method()), SSL_CTX_free); - - SetupSslContext(sslContext.get(), pubkey, privkey, cakey); - - return sslContext; -} - /** * Initializes an SSL context using the specified certificates. * diff --git a/lib/base/tlsutility.hpp b/lib/base/tlsutility.hpp index 69b10786c..de7033311 100644 --- a/lib/base/tlsutility.hpp +++ b/lib/base/tlsutility.hpp @@ -21,25 +21,30 @@ namespace icinga { void InitializeOpenSSL(); -std::shared_ptr MakeSSLContext(const String& pubkey = String(), const String& privkey = String(), const String& cakey = String()); + std::shared_ptr MakeAsioSslContext(const String& pubkey = String(), const String& privkey = String(), const String& cakey = String()); void AddCRLToSSLContext(const std::shared_ptr& context, const String& crlPath); void SetCipherListToSSLContext(const std::shared_ptr& context, const String& cipherList); void SetTlsProtocolminToSSLContext(const std::shared_ptr& context, const String& tlsProtocolmin); + String GetCertificateCN(const std::shared_ptr& certificate); std::shared_ptr GetX509Certificate(const String& pemfile); int MakeX509CSR(const String& cn, const String& keyfile, const String& csrfile = String(), const String& certfile = String(), bool ca = false); 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); + std::shared_ptr StringToCertificate(const String& cert); std::shared_ptr CreateCertIcingaCA(EVP_PKEY *pubkey, X509_NAME *subject); std::shared_ptr CreateCertIcingaCA(const std::shared_ptr& cert); + String PBKDF2_SHA1(const String& password, const String& salt, int iterations); String PBKDF2_SHA256(const String& password, const String& salt, int iterations); String SHA1(const String& s, bool binary = false); String SHA256(const String& s); String RandomString(int length); + bool VerifyCertificate(const std::shared_ptr& caCertificate, const std::shared_ptr& certificate); class openssl_error : virtual public std::exception, virtual public boost::exception { };