🔒 SSL Certificate Explainer

Overview
Certificate Types
Trust Chain
TLS Handshake
Cert Decoder
Security Checklist

What is an SSL/TLS Certificate?

An SSL (Secure Sockets Layer) certificate is a digital data file that binds a cryptographic key to an organization's details. When installed on a web server, it activates the HTTPS protocol and padlock, enabling secure, encrypted connections between the browser and the server.

TLS (Transport Layer Security) is the modern successor to SSL. Although the term "SSL certificate" is still widely used, all modern certificates actually use TLS. SSL 3.0 was deprecated in 2015 due to known vulnerabilities (POODLE attack).

🔐 Encryption
Encrypts data in transit using AES-256 or stronger. Prevents eavesdropping and man-in-the-middle attacks.
✅ Authentication
Verifies that the website belongs to the claimed organization, not an impostor.
📋 Integrity
Ensures data hasn't been tampered with during transmission using hash-based message authentication.
🌍 Trust
Issued by trusted Certificate Authorities (CAs) pre-installed in browsers and operating systems.

Key Components of an SSL Certificate

How HTTPS Works (Simplified)

When you visit an HTTPS site, your browser and the server perform a TLS handshake. They agree on encryption parameters, the server proves its identity with the certificate, and a secure encrypted tunnel is established. All subsequent data flows through this tunnel, unreadable to interceptors.

Certificate Validation Types

SSL certificates come in three levels of identity verification:

FeatureDV (Domain Validated)OV (Organization Validated)EV (Extended Validation)
Verification LevelBasicStandardRigorous
What's VerifiedDomain ownership onlyDomain + Organization identityDomain + Full legal + physical + operational verification
Time to IssueMinutes (automated)1–3 business days3–7 business days
Shows in BrowserPadlock iconPadlock icon + org in cert detailsPadlock + organization name in address bar (historically green bar)
Cost RangeFree – $50/yr$50 – $300/yr$150 – $500+/yr
Best ForPersonal sites, blogs, devBusiness sites, e-commerceFinancial, enterprise, high-trust
ExamplesLet's Encrypt, CloudflareDigiCert, GlobalSign, SectigoDigiCert EV, Symantec EV

Other Certificate Categories

Certificate Trust Chain

A certificate trust chain (or certificate path) is a linked sequence of certificates from the server's leaf certificate up to a trusted Root CA. Your browser validates this chain to establish trust.

Root Certificate
Trusted Root CA
Pre-installed in browsers/OS. Self-signed. E.g., DigiCert Global Root CA
â–ŧ signed by
Intermediate Certificate
Intermediate CA
Bridges root and leaf. May have 1–3 levels. E.g., DigiCert SHA2 Secure Server CA
â–ŧ signed by
Leaf / End-Entity Certificate
example.com
Your domain's certificate. Contains your public key and domain details

How Chain Validation Works

  1. The browser receives the server's leaf certificate
  2. It checks the certificate's validity period and signature
  3. It follows the issuer chain upward, checking each intermediate
  4. It verifies the final link to a Root CA in its trust store
  5. If any link is broken, expired, or untrusted, the connection is rejected

Common Chain Issues

🔗 Chain Length
Typically 2–4 certificates: Root → 1–2 Intermediates → Leaf
đŸ“Ļ Full Chain Bundle
Servers should serve the leaf + all intermediates. The root is already known by browsers.
🔄 Cross-Signing
Some CAs cross-sign intermediates with multiple roots for broader compatibility.

TLS 1.3 Handshake (Interactive)

Click Play to step through the TLS 1.3 handshake. This is the modern, streamlined version (1 round-trip vs 2 in TLS 1.2).

1
CLIENT → SERVER

Client Hello

Browser sends: supported TLS version (1.3), cipher suites, supported groups, key share, and a random number.

2
SERVER → CLIENT

Server Hello

Server responds: chosen cipher suite, its key share, a random number, and optionally early data extension.

3
SERVER → CLIENT

Certificate + Certificate Verify

Server sends its SSL certificate chain. The client validates the trust chain and checks the domain matches.

4
SERVER → CLIENT

Server Finished

Server sends a Finished message encrypted with the derived key, confirming the handshake parameters.

5
CLIENT → SERVER

Client Finished + Application Data

Client sends its Finished message. The handshake is complete! Both sides now communicate using symmetric encryption (AES-256-GCM).

⏱ TLS 1.3 Speed
1-RTT (one round-trip) handshake, down from 2-RTT in TLS 1.2. 0-RTT available for repeat visitors.
đŸšĢ TLS 1.3 Removed
Removed: RSA key exchange, SHA-1, MD5, RC4, DES, 3DES, compressions, non-AEAD ciphers.
🔐 Forward Secrecy
All TLS 1.3 handshakes provide forward secrecy — compromising long-term keys doesn't decrypt past sessions.

Certificate Decoder

Check the SSL certificate of any HTTPS website directly from your browser. This uses the browser's built-in TLS stack — no external API calls.

How to Read a Certificate

SSL/TLS Security Checklist

Use this interactive checklist to audit your site's SSL/TLS configuration:

Checklist Progress 0 / 12

Quick Testing Commands

# Test SSL with OpenSSL (run in terminal)

openssl s_client -connect example.com:443 -servername example.com

# Check certificate details

echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -text