From 8cd5ff2fa413029246f7714adc022dc3afd2ac13 Mon Sep 17 00:00:00 2001 From: Dmitry Volyntsev Date: Wed, 13 Oct 2021 16:31:00 +0000 Subject: [PATCH] SSL: fixed building with OpenSSL <= 1.0.1. This closes #429 issue on Github. --- external/njs_openssl.h | 3 +++ external/njs_webcrypto.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/external/njs_openssl.h b/external/njs_openssl.h index 002c6a2e..dc4f80dd 100644 --- a/external/njs_openssl.h +++ b/external/njs_openssl.h @@ -45,6 +45,9 @@ #endif +#define njs_bio_new_mem_buf(b, len) BIO_new_mem_buf((void *) b, len) + + #if (OPENSSL_VERSION_NUMBER < 0x30000000L && !defined ERR_peek_error_data) #define ERR_peek_error_data(d, f) ERR_peek_error_line_data(NULL, NULL, d, f) #endif diff --git a/external/njs_webcrypto.c b/external/njs_webcrypto.c index bed7cef3..ccd549ce 100644 --- a/external/njs_webcrypto.c +++ b/external/njs_webcrypto.c @@ -598,7 +598,7 @@ njs_cipher_pkey(njs_vm_t *vm, njs_str_t *data, njs_webcrypto_key_t *key, md = njs_algorithm_hash_digest(key->hash); EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_OAEP_PADDING); - EVP_PKEY_CTX_set_rsa_oaep_md(ctx, md); + EVP_PKEY_CTX_set_signature_md(ctx, md); EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md); ret = cipher(ctx, NULL, &outlen, data->start, data->length); @@ -1714,7 +1714,7 @@ njs_ext_import_key(njs_vm_t *vm, njs_value_t *args, njs_uint_t nargs, switch (fmt) { case NJS_KEY_FORMAT_PKCS8: - bio = BIO_new_mem_buf(start, key_data.length); + bio = njs_bio_new_mem_buf(start, key_data.length); if (njs_slow_path(bio == NULL)) { njs_webcrypto_error(vm, "BIO_new_mem_buf() failed"); goto fail; -- 2.47.3