Every https:// page starts with a TLS handshake. This process involves asymmetric encryption, certificate chain verification, and cipher suite negotiation. Understanding it helps you debug certificate errors, optimize HTTPS performance, and detect MITM attacks.

TLS 1.2 vs TLS 1.3 Handshake
| Aspect | TLS 1.2 | TLS 1.3 |
|---|---|---|
| Round trips | 2 RTT | 1 RTT / 0 RTT (resumption) |
| Key exchange | RSA or DHE/ECDHE | ECDHE / X25519 only |
| Cert privacy | Plaintext | Encrypted |
| Ciphers | Legacy (CBC, RC4) | AEAD only (AES-GCM, ChaCha20) |
| Forward secrecy | Optional | Mandatory |
Certificate Chains: How Trust Is Built
Browsers ship with ~100–150 root CA certificates. The server sends its cert plus intermediate CAs. The browser verifies signatures up the chain. If it reaches a pre-installed root, it's trusted.
fullchain.pem in your Nginx/Apache config.Certificate Types Compared
| Type | Validation | Time | Browser | Best For | Cost |
|---|---|---|---|---|---|
| DV | Domain only | Minutes | Padlock | Personal sites | Free |
| OV | Organization | 1–3 days | Padlock | Business | $50–$200 |
| EV | Strict entity | 1–4 weeks | Padlock + org name | Finance | $100–$500 |
Common SSL Errors & Fixes
| Error | Cause | Fix |
|---|---|---|
ERR_CERT_DATE_INVALID | Expired | Renew; check certbot cron |
ERR_CERT_COMMON_NAME_INVALID | Domain mismatch | Check SAN includes domain |
ERR_CERT_AUTHORITY_INVALID | Incomplete chain | Add intermediate CA cert |
ERR_SSL_PROTOCOL_ERROR | TLS mismatch | Enable TLS 1.2+ |
Practical Debugging Commands
# View complete certificate chain
openssl s_client -connect example.com:443 -showcerts
# Check certificate validity dates
echo | openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
# Enumerate supported TLS versions and ciphers
nmap --script ssl-enum-ciphers -p 443 example.com
# Quick certificate chain check
curl -vI https://example.com 2>&1 | grep -i "SSL\|issuer\|subject"✅ TLS Performance Checklist:
- Enable TLS 1.3
- Enable OCSP Stapling
- Enable HTTP/2
- Use ECDSA certificates
- Configure TLS Session Tickets
Use ipinfo.im's SSL Certificate Check tool for a one-click analysis of your certificate chain, expiration, and cipher suites.