Get a Pentest and security assessment of your IT network.

Cyber Security

SSL Connection Test Tools

TL;DR

OpenSSL is a powerful command-line tool for testing SSL connections. For a simpler graphical interface, use online SSL checkers or dedicated application tools like Burp Suite.

Testing Your SSL Connection: A Step-by-Step Guide

  1. Understand Why You Need to Test
  2. Before diving into tools, know what you’re checking for:

    • Certificate Validity: Is your certificate expired or about to expire?
    • Chain of Trust: Are all the necessary intermediate certificates installed correctly?
    • Protocol Support: Does your server support modern protocols like TLS 1.3 and avoid older, insecure ones like SSLv3?
    • Cipher Suite Strength: Are strong encryption algorithms being used?
  3. Using OpenSSL (Command Line)
  4. OpenSSL is pre-installed on many Linux and macOS systems. Windows users may need to download it from a reputable source.

    To test a connection, use the following command:

    openssl s_client -connect yourdomain.com:443

    Replace yourdomain.com with your actual domain name.

    • Interpreting the Output: Look for lines indicating:
      • Certificate details: Check the ‘Valid From’ and ‘Valid To’ dates.
      • Protocol version: Ensure it’s TLS 1.2 or higher (TLS 1.3 is preferred).
      • Cipher suite: Look for strong ciphers like ECDHE-RSA-AES256-GCM-SHA384. Avoid anything with ‘RC4’ or older algorithms.
  5. Online SSL Checkers (Easy Option)
  6. Several websites offer free SSL connection tests:

    Simply enter your domain name, and the tool will perform a comprehensive check.

  7. Using Burp Suite (For Developers)
  8. Burp Suite is a popular web security testing toolkit. It provides a graphical interface for intercepting and analyzing SSL connections.

    • Install and Configure: Download and install Burp Suite Community Edition or Professional. Configure your browser to use Burp as a proxy.
    • Intercept the Connection: Browse to your website through Burp.
    • Analyze in Burp: Burp will display detailed information about the SSL connection, including certificate details, protocol version, and cipher suites.
  9. Testing with Code (Example – Python)
  10. You can also test SSL connections programmatically using libraries like ssl in Python.

    import ssl
    import socket
    
    host = 'yourdomain.com'
    port = 443
    
    context = ssl.create_default_context()
    
    try:
        with socket.create_connection((host, port)) as sock:
            with context.wrap_socket(sock, server_hostname=host) as ssock:
                print(ssock.version())
    except Exception as e:
        print(f"Error: {e}")

    Replace yourdomain.com with your domain.

  11. Common Issues and Fixes
    • Certificate Not Trusted: Ensure your certificate is issued by a trusted Certificate Authority (CA).
    • Expired Certificate: Renew your SSL certificate before it expires.
    • Missing Intermediate Certificates: Install all intermediate certificates on your server.
    • Weak Cipher Suites: Configure your server to use strong cipher suites and disable older, insecure ones.
Related posts
Cyber Security

Zip Codes & PII: Are They Personal Data?

Cyber Security

Zero-Day Vulnerabilities: User Defence Guide

Cyber Security

Zero Knowledge Voting with Trusted Server

Cyber Security

ZeroNet: 51% Attack Risks & Mitigation