

0 / 2 embers
0 / 3000 xp
click for more info
Complete a lesson to start your streak
click for more info
Still calibrating
click for more info
Not enough gems
Cost: 6 gems
1: TLS
incomplete
2: HTTPS
incomplete
3: Certificates and Trust
incomplete
This lesson's interactive features are locked, please to keep using them
Encryption isn't helpful if your encrypted connection is with an attacker! In TLS, an X.509 certificate binds a public key to a domain identity. When a browser connects to wikipedia.org, it checks:
wikipedia.org appears in the certificate's Subject Alternative NamesIf any check fails, the browser shows a warning or blocks the connection entirely.
Browsers and operating systems maintain root stores containing trusted root CAs. A server's certificate is usually issued by an intermediate CA, which chains back to a trusted root.
A server presents its leaf certificate and the required intermediates so clients can validate the chain without finding additional certificates elsewhere. If the server omits a required intermediate and the client doesn't already have another copy, validation fails even when the leaf certificate is otherwise valid.
Let's Encrypt issues free certificates through the Automated Certificate Management Environment (ACME) protocol. Certbot is one of the most popular ACME clients.
Public certificates expire, so production servers renew them automatically to prevent outages. If HTTPS terminates at a cloud load balancer or CDN, that infrastructure often handles certificate issuance and renewal for you. If you're running your own VPS or server, you should absolutely set up automated renewal with a cron job or something similar.