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)

89

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

              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

                64

                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

                  85

                  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

                    96

                    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

                      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

                          63

                          SSLMap

                          Introduction

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

                          Project details

                          89

                          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

                            85

                            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

                            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

                            89

                            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

                              85

                              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

                              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

                                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

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