← Glossary

Cryptography & Hashing

X.509 Certificate

Also: X.509 · SSL certificate · TLS certificate · digital certificate · PKI · CSR

Last reviewed:

In one sentence

An X.509 certificate is a signed document that binds a public key to an identity (a domain name) and is vouched for by a Certificate Authority, so a browser can trust that the key it is using to set up HTTPS really belongs to the site it is talking to.

Why it matters

Encryption alone does not tell you who you are encrypting to. AES-GCM can give you a private channel to a server — but if that server is an attacker's, privacy is worthless. The X.509 certificate is the missing piece: it binds a public key to a domain name and is signed by a Certificate Authority (CA) the browser already trusts, so you get assurance that the key belongs to the real site before any secret is exchanged. That binding is what turns "encrypted" into "encrypted with the right party".

It is also the thing that quietly breaks the web every so often. An expired certificate, a name that does not match, or a broken chain produces the full-page browser warning your users cannot click past. Knowing how to read a certificate is how you tell "genuinely untrustworthy" from "someone forgot to renew".

Fields and the chain of trust

Inside a certificate, a handful of fields do the work:

  • Subject — who the certificate is for. Issuer — the CA that signed it. In a self-signed certificate these are the same, which is exactly why browsers do not trust one on its own.
  • Subject Alternative Names (SANs) — the actual list of hostnames the certificate is valid for. The old Common Name is effectively ignored now; browsers match against the SANs.
  • Validity period (not-before / not-after) — certificates expire deliberately, and public TLS lifetimes keep shrinking.
  • Public key and key usage / extended key usage — the key being vouched for and what it may be used for (e.g. server authentication).

Trust is a chain: your server's leaf certificate is signed by an intermediate CA, which is signed by a root CA whose certificate ships pre-trusted in the browser/OS. To get a certificate you first generate a key pair and a CSR (Certificate Signing Request) — a bundle of your identity fields plus your public key, signed by your private key — and the CA turns that into the signed certificate. Your private key never leaves your server.

Try it yourself hands-on

Read a certificate's guts, check a live site's chain, and generate a CSR — the three things you do around TLS.

  1. Open the Certificate Decoder and click Load Sample (or paste a PEM). It breaks out the Subject, Issuer, the full Subject Alternative Names list, the validity period with a days-remaining countdown, and the SHA-1/SHA-256 fingerprints — all in your browser. Watch the status banner: it turns to a warning as expiry approaches and flags an already-expired certificate outright.
  2. For a live server, use the SSL Certificate Checker: enter a hostname and it reports the served certificate, the chain, the SANs and any issues (name mismatch, expiry, weak chain). This is how you answer "is the cert actually the problem?" during an outage.
  3. Need a new certificate? The CSR Generator & Decoder builds a key pair (RSA 2048/3072/4096 or ECDSA P-256/P-384) and a CSR from your Subject fields and SANs, ready to hand to a CA — and it can decode an existing CSR to confirm exactly what you are about to request.

Result: given any certificate or CSR you can say who it is for, who vouches for it, when it dies, and whether it matches the site — the checklist behind every "your connection is not private" screen.

Common misreadings

  • A valid certificate does not mean a safe site. It proves you reached the domain you asked for over an encrypted channel — not that the operator is honest. Phishing sites get free, valid certificates too.
  • The Common Name is dead; SANs decide. A certificate can list the right CN and still fail because the hostname is not in the SANs. Always check the SAN list.
  • "Chain incomplete" looks like "expired" to users. Forgetting to serve the intermediate certificate breaks trust on many clients even though the leaf is fine — check the whole chain, not just the leaf's dates.