testssl.sh logo

testssl.sh

Command line TLS and SSL tester for any port with machine-readable output

Open Source Alternative to
Repository activity
  • Stars9.1k
  • Forks1.1k
  • Open Issues246
License

GPL-2.0

Languages
  • Shell
  • Perl
  • HTML
testssl.sh screenshot

About testssl.sh

testssl.sh is a command-line tool that checks TLS and SSL support on any port. It probes the ciphers, protocols, and known cryptographic flaws a service accepts, so you can see exactly how strong its encryption is before trusting it.

Results come as clear human-readable output plus CSV, two JSON formats, and HTML for reports and pipelines. It needs no extra setup and works against any SSL/TLS or STARTTLS service, not just web servers on port 443, with command-line flags to scope and shape each test.

Written in bash, it runs on Linux, macOS, the BSDs, and Windows through WSL2, MSYS2, or Cygwin, and ships a Docker image for container-based scans. It is open under GPLv2.

Key features

  • Checks TLS and SSL ciphers, protocols, and some cryptographic flaws
  • Machine-readable output in CSV, two JSON formats, and HTML
  • Tests SSL/TLS-enabled and STARTTLS services on any port
  • Runs without extra setup or package installs
  • Dockerfile and container image available

Details

On GitHub since
2014
Platforms
Linux · macOS · Windows · Docker
Deployment
self-hostable · docker
Output
CSV · JSON · HTML
License
GPLv2
Language
bash