My issue: Specific nginx variables not returning values using BoringSSL
How I encountered the problem:
I tested a number variables with two different versions of nginx 1.31.2. One built with OpenSSL 4.0.1 and the other with BoringSSL 0.20260616.0. Of the tested variables, the following ones only seem to work when using OpenSSL:
- $ssl_sigalg
- $ssl_sigalgs
- $ssl_ciphers
- $ssl_curves
Nginx built with OpenSSL returns values like:
ssl-sigalg
ecdsa_secp384r1_sha384
ssl-sigalgs
ecdsa_secp256r1_sha256:ecdsa_secp384r1_sha384:ecdsa_secp521r1_sha512:ecdsa_sha1:rsa_pss_rsae_sha256:rsa_pss_rsae_sha384:rsa_pss_rsae_sha512:rsa_pkcs1_sha256:rsa_pkcs1_sha384:rsa_pkcs1_sha512:rsa_pkcs1_sha1
ssl-ciphers
TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384
ssl-curves
X25519MLKEM768:X25519:prime256v1:secp384r1:secp521r1
While nginx built with BoringSSL returns empty values for those variables.
My question is if this is a case of “working as designed” or if this behaviour is related to one or more bugs in nginx. Can you please clarify? Thanks in advance!