summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac8
-rw-r--r--src/ssl_mbedtls.cc5
2 files changed, 10 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 149af5f..faa383c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -88,13 +88,15 @@ AC_ARG_ENABLE([mbedtls],
[mbedtls_check=$enableval], [mbedtls_check=yes])
AS_IF([test x$mbedtls_check = xyes],
[AC_CHECK_HEADERS([mbedtls/ssl.h],
- [AC_CHECK_LIB([mbedtls], [mbedtls_ssl_init],
+ [AC_CHECK_LIB([mbedcrypto], [mbedtls_ctr_drbg_random],
[AC_CHECK_LIB([mbedx509], [mbedtls_x509_crt_init],
- [AC_CHECK_LIB([mbedcrypto], [mbedtls_ctr_drbg_random],
+ [AC_CHECK_LIB([mbedtls], [mbedtls_ssl_init],
[have_ssl=1
ssl_mbedtls=1
ssl_name=mbedtls
- SSL_LIBS="-lmbedtls -lmbedx509 -lmbedcrypto"])])])])])
+ SSL_LIBS="-lmbedtls -lmbedx509 -lmbedcrypto"],,
+ [-lmbedx509 -lmbedcrypto])],,
+ [-lmbedcrypto])])])])
# Check for openssl
PKG_PROG_PKG_CONFIG
diff --git a/src/ssl_mbedtls.cc b/src/ssl_mbedtls.cc
index 1b3e350..75a624b 100644
--- a/src/ssl_mbedtls.cc
+++ b/src/ssl_mbedtls.cc
@@ -556,6 +556,11 @@ bool SSLCert::generate(Logger* logger, SSLEntropy* entropy,
if (issuer_key) {
mbedtls_x509write_crt_set_issuer_key(
&crt, static_cast<SSLKeyImpl*>(issuer_key)->key());
+ } else if (key) {
+ // Without an issuer_key mbedtls_x509write_crt_pem always fails because
+ // it uses the type of the issuer_key to figure out signature algo
+ mbedtls_x509write_crt_set_issuer_key(
+ &crt, static_cast<SSLKeyImpl*>(key)->key());
}
subject = "CN=" + host;