OpenSSL alternatives

Looking for an alternative tool to replace OpenSSL? During the review of OpenSSL we looked at other open source tools. Based on their category, tags, and text, these are the ones that have the best match.

Top 3

  1. itsdangerous (sign data to ensure integrity)
  2. git-crypt (encrypt sensitive data in Git repositories)
  3. Cryptomator (client-side encryption for cloud services)

These tools are ranked as the best alternatives to OpenSSL.

Alternatives (by score)

97

itsdangerous

Introduction

You may need to send some data to untrusted environments. To do this safely, the data needs to be signed. The receiver can check if the signature is correct, while the sender is the only one who can create the appropriate signature.

Project details

itsdangerous is written in Python.

Strengths and weaknesses

  • + More than 1000 GitHub stars
  • + The source code of this software is available

    Typical usage

    • Application security
    • Data integrity

    itsdangerous review

    74

    git-crypt

    Introduction

    This tools allows you to store your secrets (such as keys or passwords) in the same repository as your code.

    Project details

    git-crypt is written in C++.

    Strengths and weaknesses

    • + More than 10 contributors
    • + More than 3000 GitHub stars
    • + The source code of this software is available

      Typical usage

      • Data encryption

      git-crypt review

      100

      Cryptomator

      Introduction

      Cryptomator is a multi-platform tool for transparent client-side encryption of your files. It is used together with cloud services to ensure you are the only one who can access the data.

      Project details

      Cryptomator is written in Java.

      Strengths and weaknesses

      • + More than 10 contributors
      • + More than 2000 GitHub stars
      • + Many releases available

        Typical usage

        • Data encryption

        Cryptomator review

        60

        jak

        Introduction

        Typically developers may want to store some secrets, like authentication details, in in their repository. With jak this can happen in a slightly more secure way, by encrypting the data.

        Project details

        jak is written in Python.

        Strengths and weaknesses

        • + The source code of this software is available

          Typical usage

          • Data encryption

          jak review

          59

          socat

          Introduction

          Socat is a tool to share data between systems. It can leverage an existing connection, or set up a new channel between two systems. This can be useful to relay traffic, do a quick data transfer, or test other systems. Another option is to use it on the local system to add an encrypted channel.

          Project details

          socat is written in C.

          Strengths and weaknesses

          • + The source code of this software is available
          • + Well-known tool

            Typical usage

            • Data encryption
            • Data transfers

            socat review

            97

            testssl.sh

            Introduction

            Key features of testssl.sh include:

            • Clear output: you can tell easily whether anything is good or bad
            • Ease of installation: It works for Linux, Darwin, FreeBSD, NetBSD and MSYS2/Cygwin out of the box: no need to install or configure something, no gems, CPAN, pip or the like.
            • Flexibility: You can test any SSL/TLS enabled and STARTTLS service, not only webservers at port 443
            • Toolbox: Several command line options help you to run YOUR test and configure YOUR output
            • Reliability: features are tested thoroughly
            • Verbosity: If a particular check cannot be performed because of a missing capability on your client side, you'll get a warning
            • Privacy: It's only you who sees the result, not a third party
            • Freedom: It's 100% open source. You can look at the code, see what's going on and you can change it.

            Project details

            testssl.sh is written in shell script.

            Strengths and weaknesses

            • + Used language is shell script
            • + The source code of this software is available

              Typical usage

              • Application testing
              • Configuration audit

              testssl.sh review

              74

              Certificate Transparency

              Introduction

              HTTPS connections use cryptographic functions to provide confidentiality and integrity. It can provide features like domain validation, end-to-end encryption, and a trust chain from certificate authorities down to the end-user. Any flaws can endanger these goals, like the impersonation of a system, man-in-the-middle (MitM) attacks, and website spoofing. This project helps to find flaws and improve the overall security of our internet.

              Project details

              89

              Lemur

              Introduction

              With Lemur you can provide a central portal for developers and administrators to issue TLS certificates with predefined defaults.

              Lemur works on CPython 3.5 and uses the Flask framework. Another component it uses is cryptography to handle the creation of the certificates.

              Netflix develops on macOS and deploys on Ubuntu servers.

              Project details

              Lemur is written in Python.

              Strengths and weaknesses

              • + More than 500 GitHub stars
              • + The source code of this software is available
              • + Supported by a large company

                Typical usage

                • Certificate management

                Lemur review

                56

                MassBleed

                Introduction

                MassBleed is a SSL vulnerability scanner to check for several known vulnerabilities and attacks like DROWN, POODLE, and ShellShock.

                Project details

                MassBleed is written in Perl, Python, shell script.

                Strengths and weaknesses

                • + The source code of this software is available
                • - Full name of author is unknown
                • - Unknown project license

                Typical usage

                • Application security
                • Web application analysis

                MassBleed review

                74

                O-Saft

                Introduction

                O-Saft is the abbreviation for OWASP SSL advanced forensic tool.

                Project details

                O-Saft is written in Perl.

                Strengths and weaknesses

                • + The source code of this software is available

                  Typical usage

                  • Information gathering
                  • Penetration testing
                  • Security assessment
                  • Vulnerability scanning
                  • Web application analysis

                  O-Saft review

                  63

                  SSLMap

                  Introduction

                  SSLMap uses its own SSL engine to avoid any dependencies or limitations with pre-installed libraries.

                  Project details

                  74

                  SSLsplit

                  Introduction

                  SSLsplit is a tool for man-in-the-middle attacks against SSL/TLS encrypted network connections. Connections are transparently intercepted through a network address translation engine and redirected to SSLsplit. SSLsplit terminates SSL/TLS and initiates a new SSL/TLS connection to the original destination address, while logging all data transmitted. SSLsplit is intended to be useful for network forensics and penetration testing.

                  SSLsplit supports plain TCP, plain SSL, HTTP and HTTPS connections over both IPv4 and IPv6. For SSL and HTTPS connections, SSLsplit generates and signs forged X509v3 certificates on-the-fly, based on the original server certificate subject DN and subjectAltName extension. SSLsplit fully supports Server Name Indication (SNI) and is able to work with RSA, DSA and ECDSA keys and DHE and ECDHE cipher suites. Depending on the version of OpenSSL, SSLsplit supports SSL 3.0, TLS 1.0, TLS 1.1 and TLS 1.2, and optionally SSL 2.0 as well. SSLsplit can also use existing certificates of which the private key is available, instead of generating forged ones. SSLsplit supports NULL-prefix CN certificates and can deny OCSP requests in a generic way. For HTTP and HTTPS connections, SSLsplit removes response headers for HPKP in order to prevent public key pinning, for HSTS to allow the user to accept untrusted certificates, and Alternate Protocols to prevent switching to QUIC/SPDY. As an experimental feature, SSLsplit supports STARTTLS mechanisms in a generic manner.

                  Project details

                  SSLsplit is written in C.

                  Strengths and weaknesses

                  • + The source code of this software is available

                    Typical usage

                    • Learning
                    • Network analysis
                    • Penetration testing
                    • Security assessment

                    SSLsplit review

                    84

                    SSLyze

                    Introduction

                    SSLyze provides a library for scanning services that use SSL/TLS for encrypted communications. It can be used to test their implementation.

                    Project details

                    64

                    cipherscan

                    Introduction

                    The tool is of great assistance to quickly perform a security audit and may be used during penetrating testing, or guiding system administrator for system hardening.

                    Project details

                    cipherscan is written in Python, shell script.

                    Strengths and weaknesses

                    • + Screen output is colored
                    • + More than 1000 GitHub stars
                    • + Very low number of dependencies
                    • + Supported by a large company

                      Typical usage

                      • Information gathering
                      • Security assessment
                      • System hardening
                      • Web application analysis

                      cipherscan review

                      60

                      clinker

                      Introduction

                      Clinker is a tool to test SSL and TLS security for Firefox. It is an addon that shows the used cipher suites, certificates, and shows related security information of the connection itself.

                      Requirements: Firefox

                      Project details

                      100

                      mitmproxy (mitmproxy)

                      Introduction

                      The mitmproxy tool allows to intercept, inspect, modify, and replay traffic flows. It may be used for pentesting, troubleshooting, or learning about SSL/TLS.

                      Project details

                      mitmproxy is written in Python.

                      Strengths and weaknesses

                      • + More than 200 contributors
                      • + More than 10000 GitHub stars
                      • + The source code of this software is available

                        Typical usage

                        • Network analysis
                        • Penetration testing
                        • Security assessment

                        mitmproxy review

                        60

                        pshtt

                        Introduction

                        Pshtt was developed to push organizations, including government departments, to adopt HTTPS across the enterprise.

                        Project details

                        pshtt is written in Python.

                        Strengths and weaknesses

                        • + More than 500 GitHub stars
                        • + The source code of this software is available

                          Typical usage

                          • Security assessment
                          • Web application analysis

                          pshtt review

                          60

                          sslcaudit

                          Introduction

                          Sslcaudit is a tool that focuses on the niche of testing SSL/TLS clients.

                          Project details

                          sslcaudit is written in Python.

                          Strengths and weaknesses

                          • + The source code of this software is available

                            Typical usage

                            • Security assessment
                            • Software testing

                            sslcaudit review

                            52

                            ssldump

                            Introduction

                            ssldump is protocol analyzer for SSLv3/TLS network traffic. It identifies TCP connections on the chosen network interface and tries to interpret it.

                            Project details

                            Strengths and weaknesses

                            • + The source code of this software is available
                            • - No updates for a while

                            Typical usage

                            • Network analysis

                            ssldump review

                            56

                            AESKeyFinder

                            Introduction

                            AESKeyFinder uses various algorithms to perform entropy tests and filter out blocks that are not AES keys. The remaining blocks are then displayed as possible AES keys.

                            Project details

                            Strengths and weaknesses

                            • + The source code of this software is available
                            • - No proper description on website
                            • - No updates for a while

                            Typical usage

                            • Data extraction

                            AESKeyFinder review

                            74

                            pick

                            Introduction

                            Tools like pick are used to store passwords and secrets safely.

                            Project details

                            pick is written in Golang.

                            Strengths and weaknesses

                            • + Very low number of dependencies
                            • + The source code of this software is available

                              Typical usage

                              • Data security
                              • Secure storage

                              pick review

                              64

                              A2SV

                              Introduction

                              A2SV is short for Auto Scanning to SSL Vulnerability, a security tool to scan for SSL and TLS vulnerabilities. It can be used during security assessments.

                              Project details

                              A2SV is written in Python.

                              Strengths and weaknesses

                              • + The source code of this software is available
                              • - Full name of author is unknown

                              Typical usage

                              • Vulnerability scanning
                              • Vulnerability testing

                              A2SV review

                              70

                              sslh

                              Introduction

                              A typical use case for multiplexing is to allow serving several services on one port. Port 443 is commonly used, as that is typically opened on firewalls to allow HTTPS traffic. By multiplexing it, you can also use SSH or other services on the same port.

                              Project details

                              60

                              ZGrab

                              Introduction

                              ZGrab is a stateful application-layer scanner. It works together with ZMap and is also part of the ZMap project. ZGrab is written in Go and supports multiple protocols, including:

                              • BACNET
                              • HTTP
                              • HTTPS
                              • FTP
                              • IMAP
                              • POP3
                              • Modbus
                              • Siemens S7
                              • SMTP
                              • SSH
                              • Telnet
                              • Tridium Fox

                              Project details

                              ZGrab is written in Golang.

                              Strengths and weaknesses

                              • + The source code of this software is available

                                Typical usage

                                • Penetration testing
                                • Security assessment
                                • Vulnerability scanning

                                ZGrab review

                                60

                                tlsenum

                                Introduction

                                Tlsenum is a CLI tool to enumerate TLS protocol and TLS cipher support by a server. The tool lists then the output based on the order of priority. Tlsenum can be used to find the supported protocols and ciphers of a system and determine if it is properly hardened. This information can be useful to system administrators and pentesters doing a security assessment of the system.

                                Project details

                                tlsenum is written in Python.

                                Strengths and weaknesses

                                • + The source code of this software is available

                                  Typical usage

                                  • Information gathering
                                  • Security assessment
                                  • System enumeration
                                  • System hardening

                                  tlsenum review

                                  Some relevant tool missing as an alternative to OpenSSL? Please contact us with your suggestion.