I would like to test whether a server is using some bad cipher suites. The problem is, many of the bad cipher suites have been removed from openssl 1.x(e.g. suites exposed to FREAK). Therefore, openssl sclient -cipher to test the target server does not always work.

I read from OpenSSL Cookbook:

No single SSL/TLS library supports all cipher suites, and that makes comprehensive testing difficult. For SSL Labs, I resorted to using partial handshakes for this purpose, with a custom client that pretends to support arbitrary suites.

Is there a such tool(opensource preferrably) available?

  • SSLLabs uses a custom scanner which crafts packets to check even ciphers not supported by openssl. But its only usable for public accessible web sites. Commented Sep 9, 2016 at 7:22

1 Answer 1


Testssl.sh can detect bad ciphers and a lot of other things regarding SSL security.

testssl.sh output


Even testssl.sh depends on OpenSSL for the ciphers it tests. It ships with its own OpenSSL libary that has many depracted ciphers enabled. You should use testssl.sh with that OpenSSL library, not with your system's library.

However, even testssl's OpenSSL library does not support all existing ciphers in the world. According to Dirk Wetter, testssl.sh's developer:

There are cipher suite which are not scanned -- as there's a wealth of ciphers around and only a part is being used in the internet.

 Bad ones: nope, everything should be included with the accompanied openssl binary.

New ones in practical use: a few which are being used by Google so far (new chacha/poly ciphers and post quantum ciphers).

We're aiming at testing every single cipher per bash sockets in the next release.

  • 1
    As far as I can see testssl.sh simply uses openssl to test which ciphers are supported. Thus it will not detect any bad ciphers not supported by the openssl installation - but that's exactly what the OP asked for. Commented Sep 9, 2016 at 7:19
  • 1
    You shouldn't use testssl with your system's openssl library. Testssl provides specially compiled statically linked OpenSSL binaries. It has every dirty feature enabled but also has ChaCha+Poly ciphers on board.
    – Sjoerd
    Commented Sep 9, 2016 at 7:22
  • Could you please add exactly this information to your response, i.e. why it can do the scanning even for less common cipher suites? But I'm pretty sure that it cannot check for suites never supported by openssl. Commented Sep 9, 2016 at 7:25
  • I just tested their prebuilt openssl binaries. Although they do not have all ciphers, they do have substaintially more than ones distributed with the os(Mac homebrew/Linux).
    – cfchou
    Commented Sep 9, 2016 at 7:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .