From 2a8a19c674dd843828771c04f25e906e3c58f845 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Tue, 18 Jul 2023 14:11:04 +0200 Subject: Support mbedtls 3.x --- src/ssl_mbedtls.cc | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src/ssl_mbedtls.cc') diff --git a/src/ssl_mbedtls.cc b/src/ssl_mbedtls.cc index a34067b..50c7975 100644 --- a/src/ssl_mbedtls.cc +++ b/src/ssl_mbedtls.cc @@ -4,7 +4,6 @@ #include #include -#include #include #include #include @@ -108,11 +107,13 @@ public: mbedtls_pk_free(&key_); } - bool load(Logger* logger, std::string const& data) { + bool load(Logger* logger, std::string const& data, SSLEntropy* entropy) { auto ret = mbedtls_pk_parse_key( &key_, reinterpret_cast(data.c_str()), data.size() + 1, - nullptr, 0); + nullptr, 0, + mbedtls_ctr_drbg_random, + static_cast(entropy)->random()); if (ret) { logerr(logger, ret, "Error parsing key"); return false; @@ -394,8 +395,8 @@ private: mbedtls_ssl_conf_min_version(&conf_, MBEDTLS_SSL_MAJOR_VERSION_3, - unsecure() ? MBEDTLS_SSL_MINOR_VERSION_0 : - MBEDTLS_SSL_MINOR_VERSION_1); + unsecure() ? MBEDTLS_SSL_MINOR_VERSION_3 : + MBEDTLS_SSL_MINOR_VERSION_4); return true; } }; @@ -482,9 +483,10 @@ SSLCertStore* SSLCertStore::create(Logger* logger, std::string const& path) { } // static -SSLKey* SSLKey::load(Logger* logger, std::string const& data) { +SSLKey* SSLKey::load(Logger* logger, std::string const& data, + SSLEntropy* entropy) { std::unique_ptr key(new SSLKeyImpl()); - if (!key->load(logger, data)) return nullptr; + if (!key->load(logger, data, entropy)) return nullptr; return key.release(); } -- cgit v1.2.3-70-g09d2