Analyzing SSL Certificates

How to use the SSL analysis tool.

Deep DNS TeamOctober 23, 202510 min read

Analyzing SSL/TLS Certificates

SSL/TLS certificate analysis is a critical component of website security auditing and maintenance. Proper certificate configuration ensures encrypted connections, validates server identity, and maintains user trust. This guide explains how to use certificate analysis tools to inspect, validate, and troubleshoot SSL/TLS certificates for any domain.

Why Analyze SSL/TLS Certificates?

Analyzing SSL/TLS certificates is paramount for several reasons, encompassing security, compliance, and performance.

Security Assurance

Prevent Security Incidents by proactively identifying and addressing vulnerabilities:

  • Certificate Expiration: Expired certificates trigger browser warnings and block user access, leading to a loss of trust and potential revenue.
  • Weak Cryptography: Outdated algorithms make connections vulnerable to attack, compromising data integrity and confidentiality.
  • Chain Validation Issues: Broken certificate chains cause connection failures, preventing users from accessing your site securely.
  • Configuration Errors: Misconfigurations can expose sites to man-in-the-middle attacks, allowing attackers to intercept sensitive information.

Compliance and Trust

Adhering to regulatory requirements and building user confidence are vital:

  • Regulatory Requirements: Compliance standards like PCI DSS, HIPAA, and SOC 2 mandate strong encryption and certificate monitoring.
  • User Confidence: Modern browsers display prominent warnings for certificate errors. Studies show that a significant percentage of users abandon purchases on sites with security warnings. Certificate transparency builds customer trust and signals a commitment to security.

Performance Optimization

Beyond security, proper SSL/TLS configuration can also impact performance:

  • Identify deprecated protocols that slow down connections.
  • Verify support for modern TLS 1.3 for significant performance improvements.
  • Ensure HTTP/2 and HTTP/3 compatibility for faster content delivery.

Using the Deep DNS SSL Analysis Tool

Our SSL Analysis tool simplifies the process of inspecting your certificates.

Step-by-Step Analysis

1. Access the Tool

Navigate to the Deep DNS SSL Analysis feature from the main dashboard or tools menu.

2. Enter Target Domain

Input the fully qualified domain name (FQDN) you want to analyze:

Examples:
secure.example.com
www.example.com
api.example.com

Note: Include the specific subdomain, as certificates may vary across subdomains. Analyzing example.com will not necessarily cover www.example.com unless explicitly included in the certificate.

3. Initiate Analysis

Click Analyze or press Enter. The tool will perform a series of checks:

  • Establish a connection to the target server.
  • Retrieve the SSL/TLS certificate.
  • Validate the certificate chain.
  • Test protocol and cipher suite support.
  • Check for known vulnerabilities and misconfigurations.

4. Review Results

Analysis typically completes in 2-5 seconds, providing a comprehensive security report.


Interpreting Analysis Results

The analysis report is divided into several sections, providing a detailed overview of your certificate's health.

Certificate Information

This section provides fundamental details about the certificate itself.

Issuer (Certificate Authority)

This shows the organization that issued and vouched for the certificate.

Common Certificate Authorities (CAs) include:

  • Let's Encrypt: Known for free, automated Domain Validated (DV) certificates.
  • DigiCert: Provides commercial Organization Validated (OV) and Extended Validation (EV) certificates.
  • GlobalSign: Offers enterprise-grade certificates.
  • Sectigo (formerly Comodo): A popular choice for budget-friendly options.
  • Amazon Trust Services: Used for AWS-managed certificates.

What to Look For:

  • ✅ A recognized, trusted CA from a browser's root store.
  • Self-signed certificates are generally only acceptable for development or internal use, not public-facing sites.
  • ❌ Avoid certificates from unknown or untrusted CAs.

Validity Period

This indicates when the certificate is valid.

  • Start Date (Not Before): The date and time when the certificate becomes valid.
  • Expiration Date (Not After): The date and time when the certificate expires.

Current Standards and Recommendations:

  • Maximum Validity: Currently, public certificates have a maximum validity of 398 days (approximately 13 months).
  • Recommended Renewal: Renew your certificate 30-60 days before expiration.
  • Automation: Let's Encrypt certificates are valid for 90 days, which strongly encourages automation.

Critical Timing for Renewal:

90+ days remaining: ✅ Good - plenty of time.
30-89 days remaining: ⚠️ Schedule renewal soon.
<30 days remaining: ⚠️ Urgent - renew immediately to avoid downtime.
Expired: ❌ Certificate invalid - immediate action required to restore service.

Certificate Chain

This defines the hierarchical path from your certificate to a trusted root Certificate Authority.

Typical Chain Structure:

1. Leaf Certificate (your domain)
   ↓ Issued by
2. Intermediate Certificate
   ↓ Issued by
3. Root Certificate (trusted by browsers)

Chain Validation Checks:

  • Complete Chain: All intermediate certificates must be present for successful validation.
  • Incomplete Chain: Missing intermediates will cause browser errors.
  • Correct Order: Certificates must be in the proper hierarchical sequence.
  • Broken Chain: An untrusted root or signature mismatch will lead to validation failures.

Common Issues with Certificate Chains:

  • Missing Intermediates: The server must provide the full chain, not just the leaf certificate.
  • Wrong Chain Order: Intermediates must be sequenced correctly for browsers to build the trust path.
  • Expired Intermediates: While rare, an expired intermediate certificate will cause validation failures for all certificates issued by it.

Subject Alternative Names (SANs)

Purpose: The SAN field lists all domains and subdomains that the certificate covers.

Example SANs for example.com:

Subject: example.com
Subject Alternative Names:
  - example.com
  - www.example.com
  - mail.example.com
  - shop.example.com

Important Checks:

  • ✅ Ensure your current domain is explicitly listed in the SANs.
  • ✅ Verify that all intended subdomains are covered.
  • ❌ A common mistake is missing www or other critical subdomains.
  • ⚠️ Understand the limitations of wildcard coverage (e.g., *.example.com).

Wildcard Limitations Explained:

*.example.com covers:
✅ blog.example.com
✅ shop.example.com
❌ example.com (the root domain must be listed separately)
❌ app.staging.example.com (wildcards only cover one level of subdomain)

Cryptographic Details

This section delves into the strength and algorithms used in your certificate.

Public Key Algorithm and Size

Accepted Standards:

  • RSA 2048-bit: The minimum acceptable strength for modern security.
  • RSA 4096-bit: Offers higher security but can be slightly slower.
  • ECDSA P-256: A modern, efficient, and recommended elliptic curve algorithm.
  • ECDSA P-384: Provides even higher security using a larger elliptic curve.

Deprecated/Weak Algorithms to Avoid:

  • ❌ RSA 1024-bit or smaller.
  • ❌ DSA keys.

Signature Algorithm

This specifies the algorithm used to sign the certificate.

Modern and Secure Algorithms:

  • ✅ SHA-256 with RSA
  • ✅ SHA-384 with RSA
  • ✅ ECDSA with SHA-256
  • ✅ ECDSA with SHA-384

Deprecated/Insecure Algorithms:

  • ❌ MD5 (critically broken and should never be used).
  • ❌ SHA-1 (deprecated since 2017 and should be avoided).

Protocol and Cipher Support

This section evaluates the server's configuration for secure communication.

Supported TLS Versions

Current Best Practice:

✅ TLS 1.3 (2018) - The latest, most secure, and performant protocol.
✅ TLS 1.2 (2008) - Still acceptable, but prioritize TLS 1.3.
❌ TLS 1.1 (deprecated 2021) - Should be disabled.
❌ TLS 1.0 (deprecated 2021) - Should be disabled.
❌ SSL 3.0 (critically insecure) - Must be disabled.
❌ SSL 2.0 (critically insecure) - Must be disabled.

Configuration Recommendation:

  • Enable only TLS 1.2 and TLS 1.3 on your servers.
  • Disable all older protocols to mitigate known vulnerabilities.

Cipher Suites

Cipher suites define the combination of algorithms used for key exchange, authentication, encryption, and message authentication code (MAC).

Strong Cipher Characteristics:

  • Authenticated Encryption (AEAD): Look for ciphers like ChaCha20-Poly1305 and AES-GCM.
  • Forward Secrecy: Achieved through key exchange mechanisms like ECDHE and DHE.
  • Modern Encryption: Utilize AES-256 or AES-128.

Example of a Strong Cipher Suite:

TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  │     │    │       │         │    │
  │     │    │       │         │    └─ Hash function (SHA384)
  │     │    │       │         └────── AEAD mode (GCM)
  │     │    │       └──────────────── Encryption algorithm (AES_256)
  │     │    └──────────────────────── Authentication (RSA)
  │     └───────────────────────────── Key exchange (ECDHE - provides Forward Secrecy)
  └─────────────────────────────────── Protocol version (TLS)

Weak/Deprecated Ciphers to Avoid:

  • ❌ RC4 (broken and highly insecure).
  • ❌ 3DES (weak and slow).
  • ❌ NULL encryption (provides no encryption whatsoever!).
  • ❌ Anonymous DH (no authentication, vulnerable to MITM attacks).
  • ❌ Export ciphers (intentionally weakened for historical reasons).

Common Issues and Solutions

Understanding common problems and their fixes is crucial for maintaining a secure website.

Certificate Expired

Symptom: Browsers display warnings like "Your connection is not private" or "NET::ERR_CERT_DATE_INVALID".

Causes:

  • The certificate's validity period has ended.
  • The client's system clock is incorrect (a client-side issue).

Solutions:

  1. Renew the certificate immediately to restore service.
  2. Implement automated renewal processes (e.g., using Certbot for Let's Encrypt).
  3. Set up expiration monitoring and alerts to prevent future surprises.
  4. Consider using shorter validity periods to enforce regular rotation and reduce the impact of a compromised key.

Certificate Name Mismatch

Symptom: Users see "NET::ERR_CERT_COMMON_NAME_INVALID" errors.

Causes:

  • Accessing a domain that is not listed in the certificate's Subject Alternative Names (SANs).
  • Using an IP address instead of the domain name in the URL.
  • Limitations of wildcard certificates (e.g., *.example.com does not cover example.com).

Solutions:

  1. Ensure the certificate includes all necessary domains (including www and non-www versions) in its SANs.
  2. Always use the correct domain name in the URL.
  3. Request a multi-domain certificate if you need to secure several distinct domains or subdomains that a wildcard won't cover.

Untrusted Certificate / Unknown CA

Symptom: Browsers show "NET::ERR_CERT_AUTHORITY_INVALID" warnings.

Causes:

  • Using a self-signed certificate for a public-facing site.
  • The certificate was issued by an untrusted Certificate Authority.
  • Missing intermediate certificates in the server's configuration.

Solutions:

  1. Obtain a certificate from a trusted public CA.
  2. Install the complete certificate chain on your server.
  3. Verify that intermediate certificates are properly configured and in the correct order.

Mixed Content Warnings

Symptom: The browser displays a padlock icon with a warning, and some resources (images, scripts, stylesheets) load over HTTP instead of HTTPS.

Impact: This degrades security, reduces user trust, and can negatively impact your SEO ranking.

Solutions:

  1. Update all resource URLs to HTTPS.

  2. Use protocol-relative URLs (e.g., //example.com/style.css) where appropriate.

  3. Implement a Content Security Policy (CSP) header to automatically upgrade insecure requests:

    Content-Security-Policy: upgrade-insecure-requests;
    

Best Practices for Certificate Management

Effective certificate management is key to long-term security.

Automated Renewal

Automating certificate renewal is a game-changer for security and operational efficiency.

Let's Encrypt with Certbot:

# Install Certbot (example for Ubuntu/Debian with Nginx)
sudo apt install certbot python3-certbot-nginx

# Obtain and install a certificate (replace example.com with your domain)
sudo certbot --nginx -d example.com -d www.example.com

# Test automatic renewal (dry run)
sudo certbot renew --dry-run

Benefits of Automation:

  • Eliminates human error in the renewal process.
  • Ensures certificates never expire unexpectedly.
  • Reduces maintenance overhead for system administrators.

Monitoring and Alerts

Proactive monitoring can prevent certificate-related outages.

What to Monitor:

  • Days until expiration.
  • Certificate chain validity.
  • Protocol/cipher deprecations.
  • Certificate Transparency logs for unauthorized issuance.

Useful Tools:

  • Deep DNS SSL Analysis (for regular, on-demand scans).
  • SSL Labs Server Test (for comprehensive, in-depth audits).
  • Third-party certificate monitoring services (e.g., UptimeRobot, StatusCake).

Certificate Transparency (CT)

Purpose: CT logs provide a public, auditable record of all issued certificates, helping to detect mis-issuance.

How to Use CT Logs:

  • Visit crt.sh to search for certificates by domain.
  • Regularly monitor CT logs for unauthorized certificates issued for your domains.

Advanced Configuration

For enhanced security, consider these advanced configurations.

HTTP Strict Transport Security (HSTS)

Purpose: HSTS is a security policy mechanism that forces browsers to always use HTTPS when connecting to your site.

Example Header:

Strict-Transport-Security: max-age=31536000; includeSubDomains; preload

Benefits:

  • Prevents protocol downgrade attacks.
  • Blocks certain man-in-the-middle attacks.
  • Significantly improves your security posture.

Certificate Authority Authorization (CAA)

Purpose: A CAA DNS record specifies which Certificate Authorities are authorized to issue certificates for your domain.

Example DNS Record:

example.com.    CAA    0 issue "letsencrypt.org"
example.com.    CAA    0 issuewild "letsencrypt.org"
example.com.    CAA    0 iodef "mailto:security@example.com"

Benefits:

  • Helps prevent unauthorized certificate issuance.
  • Reduces the risk of mis-issued certificates.
  • Can provide notification of certificate requests to a specified email address.

Next Steps

Recommended Action: Run an SSL analysis on your domain today. Set up automated renewal and certificate monitoring to prevent future security incidents.

Pro Tip: Use SSL Labs Server Test for a comprehensive grade (an A+ is the goal!) and detailed security recommendations specific to your configuration.