Copied!

What Is SSL/TLS?

SSL and TLS are what put the padlock in your browser. The handshake in five steps, DV vs OV vs EV certificates, the chain of trust and free certificates.

SSL and TLS Explained

SSL (Secure Sockets Layer) and its successor TLS (Transport Layer Security) encrypt the connection between your browser and a website. The padlock and the https:// in the address bar mean TLS is doing that right now.

People still say "SSL", but everything modern runs TLS. Netscape built SSL in the mid-1990s; SSL 1.0, 2.0 and 3.0 are all retired because of security holes. TLS 1.0 replaced it in 1999, TLS 1.2 (2008) is still everywhere, and TLS 1.3 (2018) is the current standard: faster and safer, with a shorter handshake.

How the TLS Handshake Works

Before any page data moves, browser and server agree on how to encrypt it:

  1. Client Hello. Your browser sends the TLS versions and cipher suites it supports, plus a random number.
  2. Server Hello. The server picks a version and cipher suite, sends its certificate and its own random number.
  3. Certificate verification. The browser checks the certificate against the Certificate Authorities (CAs) it trusts.
  4. Key exchange. Both sides use asymmetric encryption to agree on a shared session key.
  5. Encrypted session. Everything from here on uses that session key with symmetric encryption, which is much faster.

TLS 1.3 does this in one round trip (1-RTT). Returning visitors can get 0-RTT, so pages start noticeably quicker.

Certificate Types

Three validation levels, by how much the CA checks before issuing:

TypeValidationVisual IndicatorUse CaseCost
DV (Domain Validation)Proves control of the domain onlyPadlock iconBlogs, personal sitesFree to $50/yr
OV (Organization Validation)Verifies the organization's identityPadlock + org info in cert detailsBusiness websites$50 to $200/yr
EV (Extended Validation)Rigorous identity verificationPadlock + org name in cert detailsBanks, e-commerce, government$100 to $500/yr

A certificate also has a scope:

  • Single domain covers one name, such as example.com.
  • Wildcard covers a domain and all its subdomains: *.example.com.
  • Multi-domain (SAN) covers a list of named domains in one certificate.

The Certificate Chain of Trust

Your browser trusts a site's certificate because it can trace it back to a root CA it already knows:

  1. Root CA certificate. Shipped inside your browser or operating system trust store. The trust anchors, for example DigiCert or Let's Encrypt's ISRG Root.
  2. Intermediate CA certificate. Issued by the root. Intermediates sign end-entity certificates on the root's behalf.
  3. End-entity (leaf) certificate. The website's own certificate, signed by the intermediate.

One missing, expired or untrusted link in that chain and you get a security warning.

The takeaway: an expired or misconfigured certificate throws a full-page browser warning and visitors leave. Automate renewal (Let's Encrypt with certbot does it for you) and watch expiry dates.

Let's Encrypt and Free SSL

Let's Encrypt is a free, automated, open CA that launched in 2016. It is the main reason most of the web is on HTTPS today:

  • Issues DV certificates for free
  • Certificates last 90 days, and auto-renewal is the norm
  • Uses the ACME protocol for issuing and renewing
  • Setup with certbot is one command: sudo certbot --nginx -d example.com
  • Trusted by every major browser and operating system

Checking SSL Certificates

  • Browser: click the padlock in the address bar, then "Certificate" or "Connection is secure".
  • Our tool: the SSL Certificate Checker shows any domain's certificate, expiry date and chain.
  • Command line: openssl s_client -connect example.com:443 -servername example.com
  • Curl: curl -vI https://example.com prints the certificate in its verbose output.
SSL Certificate Checker
Try it on a real address. Free, no account needed.