On OSX everything works as expected:
FQDN="test.internal"
TLS_DATA=$(openssl req -quiet -x509 -newkey rsa:4096 -keyout - -out - -sha256 -days 365 -nodes -subj "/C=tt/ST=test/L=test/O=test/OU=test/CN=$FQDN" 2>/dev/null)
KEY=$(awk '/BEGIN PRIVATE KEY/,/END PRIVATE KEY/' <<< "$TLS_DATA")
CERT=$(awk '/BEGIN CERTIFICATE/,/END CERTIFICATE/' <<< "$TLS_DATA")
... # Assume the below takes this crypto and plugs it into a reverse proxy
sslscan --no-renegotiation --no-fallback --no-compression --no-heartbleed --sni-name=test.internal 10.89.0.83
Version: 2.2.2
OpenSSL 3.6.2 7 Apr 2026
Connected to 10.89.0.83
Testing SSL server 10.89.0.83 on port 443 using SNI name test.internal
...
Now do the same thing on Linux:
FQDN="test.internal"
TLS_DATA=$(openssl req -quiet -x509 -newkey rsa:4096 -keyout - -out - -sha256 -days 365 -nodes -subj "/C=tt/ST=test/L=test/O=test/OU=test/CN=$FQDN" 2>/dev/null)
KEY=$(awk '/BEGIN PRIVATE KEY/,/END PRIVATE KEY/' <<< "$TLS_DATA")
CERT=$(awk '/BEGIN CERTIFICATE/,/END CERTIFICATE/' <<< "$TLS_DATA")
... # Assume the below takes this crypto and plugs it into a reverse proxy
sslscan --no-renegotiation --no-fallback --no-compression --no-heartbleed --sni-name=test.internal 172.18.0.4
Version: 2.1.2
OpenSSL 3.0.13 30 Jan 2024
Connected to 172.18.0.4
Testing SSL server 172.18.0.4 on port 443 using SNI name 172.18.0.4
...
I've also compiled and tried 2.2.2 but the behavior is the same.
Now what's interesting is if you modify the args on Linux it works:
sslscan --sni-name=test.internal 172.18.0.4
Version: 2.1.2
OpenSSL 3.0.13 30 Jan 2024
Connected to 172.18.0.4
Testing SSL server 172.18.0.4 on port 443 using SNI name test.internal
...
On OSX everything works as expected:
Now do the same thing on Linux:
I've also compiled and tried 2.2.2 but the behavior is the same.
Now what's interesting is if you modify the args on Linux it works: