software:testssl
Table of Contents
Test TLS Versions
You can test TLS version on a website with either OpenSSL or Nmap.
Nmap
Nmap includes a script to check SSL/TLS versions. The grepped version just shows the TLS versions supported. More info on the Nmap script on nmap.org.
nmap -sV --script ssl-enum-ciphers -p 443 example.com nmap -sV --script ssl-enum-ciphers -p 443 example.com | grep TLSv
OpenSSL
To test with OpenSSL you have specify the version. The -servername
option is needed if the server uses SNI to host multiple sites.
openssl s_client -connect example.com:443 -tls1 -servername example.com openssl s_client -connect example.com:443 -tls1_1 -servername example.com openssl s_client -connect example.com:443 -tls1_2 -servername example.com
If the site doesn't support that TLS version you'll get something like this. If it works you'll see the cert in hex and a bunch of other stuff and it will leave the connection open so you'll have to hit ctrl-c to disconnect.
CONNECTED(0000020C) 37556:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version:ssl/record/rec_layer_s3.c:1544:SSL alert number 70 --- no peer certificate available --- No client certificate CA names sent --- SSL handshake has read 7 bytes and written 120 bytes Verification: OK --- New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated SSL-Session: Protocol : TLSv1 Cipher : 0000 Session-ID: Session-ID-ctx: Master-Key: PSK identity: None PSK identity hint: None SRP username: None Start Time: 1709754202 Timeout : 7200 (sec) Verify return code: 0 (ok) Extended master secret: no ---
software/testssl.txt · Last modified: 2024-03-06 19:51 by dave