Closed naa2298 closed 10 months ago
It may depend on the version of OpenSSL.
Please provide build and runtime environment details.
The target seems to be a deprecated low-level key parameter getter function, so we will consider refactoring.
Hello! Thanks for answering. How do I give you build and runtime environnent? How do I see that?
Please describe your environment (OS, library version, etc.) and the steps you took so that we can reproduce it.
Sorry for the delay, I've installed Jannson, everything ok. When I wanted to install nginx with module, this needed openssl. I install openssl with package downloaded from openssl.org, and don´t recognize. Then, I install libssl-dev and install nginx.
Debian GNU/Linux 11 (bullseye) nginx-1.25.3 jansson-2.14 libssl-dev/oldstable,now 1.1.1w openssl 3.2.0
Is the version of libssl that nginx links to 1.1.1w?
Is the module built with OpenSSL 3.2.0 and executed with 1.1.1w? If so, of course it won't work.
After I've installed openssl 3.2.0, for built it asked me for openssl. Didn't recognize the installatio. Later, i've installed libssl from repositories and it proceed to built, to finish configure (./configure). I think that was configured with libssl-dev and not openssl 3.2.0. Do you recommend to build again?
I assume you used libssl-dev instead of OpenSSL 3.2.0?
I would also like to know what you installed from where, as it seems to be different from the default package version. If possible, please provide (re-) build instructions.
Are you sure you are not building with OpenSSL 3.2.0 and running with 1.1.1w ?
src/jwt/jwt-openssl.c :
260 #if OPENSSL_VERSION_NUMBER >= 0x30000000L
261 char curve_name[64];
262 size_t curve_name_len = 0;
263 EC_GROUP *ecgroup;
264
265 if (!EVP_PKEY_get_utf8_string_param(pkey, OSSL_PKEY_PARAM_GROUP_NAME, curve_name, sizeof(curve_name), &curve_name_len))
...
408 #if OPENSSL_VERSION_NUMBER >= 0x30000000L
409 char *curve_name[64];
410 size_t curve_name_len = 0;
411 EC_GROUP *ecgroup;
412
413 if (!EVP_PKEY_get_utf8_string_param(pkey, OSSL_PKEY_PARAM_GROUP_NAME, (char *)curve_name, sizeof(curve_name), &curve_name_len))
EVP_PKEY_get_utf8_string_param() is only used with OpensSSL 3
I solved! I've uninstalled openssl 3.2.0 and re-compiled. The issue was solved. Later I wrote "load_module" at top of code out of http{}. Any error display. Thanks a lot for your advice and answering.
Hello... When I want load module from nginx.conf, test failed and I have this error "undefined symbol: EVP_PKEY_get_utf8_string_param" and I don´t know Why I can´t enable module. Do you know something why?