2023-12-05 Niels Möller <nisse@lysator.liu.se>
+ * configure.ac: In openssl tests, check for the headers actually
+ used by the benchmarking code, and for a subset of the relevant
+ functions.
+
* examples/nettle-openssl.c: Trim openssl includes and defines,
and use Nettle's definition of sha1 and md5 constants.
(nettle_openssl_init): Deleted.
AC_CHECK_SIZEOF(long)
AC_CHECK_SIZEOF(size_t)
-AC_CHECK_HEADERS([openssl/evp.h openssl/ecdsa.h],,
+AC_CHECK_HEADERS([openssl/evp.h openssl/ec.h openssl/rsa.h],,
[enable_openssl=no
break])
OPENSSL_LIBFLAGS=''
-# Check for openssl's libcrypto (used only for benchmarking)
+# Check for openssl's libcrypto (used only for benchmarking), test for
+# a few of the functions used.
if test x$enable_openssl = xyes ; then
- AC_CHECK_LIB(crypto, EVP_CIPHER_CTX_new,
- [OPENSSL_LIBFLAGS='-lcrypto'],
- [enable_openssl=no])
+ for fun in EVP_CIPHER_CTX_new EVP_MD_CTX_new EVP_DigestVerifyFinal ; do
+ AC_CHECK_LIB(crypto, $fun,
+ [OPENSSL_LIBFLAGS='-lcrypto'],
+ [enable_openssl=no
+ break])
+ done
fi
AH_TEMPLATE([WITH_OPENSSL],
die ("OpenSSL key eneration failed.\n");
ctx->key = key;
ctx->md = md;
- ctx->md_ctx = EVP_MD_CTX_create();
+ ctx->md_ctx = EVP_MD_CTX_new();
if (!ctx->md_ctx)
die ("OpenSSL EVP_MD_CTX_create failed.");