SSL/TLS & HTTPS

What Does the Certificate Chain Show?

Learn about SSL/TLS certificate chains, how they establish trust, what each certificate means, and how to interpret chain information.

By Inventive HQ Team

Understanding Certificate Chains and Trust

A certificate chain shows the ordered path of trust from your server's leaf certificate, up through one or more intermediate CA certificates, to a self-signed root certificate already installed in the client's trust store. Each certificate in the chain records who it was issued to (the Subject), who signed it (the Issuer), and a cryptographic signature. Reading the chain means checking that every certificate's Issuer matches the Subject of the certificate directly above it, that every signature validates against that issuer's public key, that no certificate is expired, and that the top of the chain is a root a browser already trusts. If all four hold, the padlock appears; if any link breaks, the connection fails or warns.

That is the summary an AI Overview will give you. What it can't show you is the shape of the chain and where real deployments break. Below is an animated diagram of how each signature is verified, a field-by-field breakdown of what actually appears at each level, and a symptom-to-fix table for the chain errors you will actually hit in production. Try the free Certificate Chain Builder to assemble and verify your complete chain, or paste a live host into the SSL Checker to see the exact certificates a server sends.

How a TLS certificate chain is verified Three stacked certificate cards — leaf, intermediate, and root. Each certificate is signed by the one above it. A verification pulse travels down from the trusted root to the leaf, and issuer-to-subject links connect each level.

The chain of trust, top to bottom Trust flows down from a pre-installed root; each Issuer must match the Subject above it.

ROOT CERTIFICATE (trust anchor) Subject: DigiCert Global Root CA Issuer: DigiCert Global Root CA (self-signed) Pre-installed in OS / browser trust store • not sent by server INTERMEDIATE CERTIFICATE Subject: DigiCert TLS RSA SHA256 2020 CA1 Issuer: DigiCert Global Root CA Sent by server • the link most often missing LEAF CERTIFICATE (your domain) Subject: example.com (SAN: www.example.com) Issuer: DigiCert TLS RSA SHA256 2020 CA1 Sent by server • carries your public key signs signs TRUST STORE holds the root CLIENT VERIFIES domain + signatures

The Three-Level Certificate Chain

A typical certificate chain consists of three levels:

Level 1: End-Entity Certificate (Leaf Certificate) This is your domain's certificate:

  • Issued to: yourdomain.com
  • Contains: Your domain name, public key, validity dates
  • Issued by: Intermediate CA
  • Used for: Encrypting traffic to your website

Level 2: Intermediate Certificate This is the bridge between your certificate and the root:

  • Issued to: Intermediate Certificate Authority (e.g., "Sectigo RSA Organization Validation Secure Server CA")
  • Contains: The intermediate CA's public key
  • Issued by: Root CA
  • Used for: Validating your certificate
  • Typically provided by: Your certificate authority

Level 3: Root Certificate This is the trust anchor:

  • Issued to: Root Certificate Authority (e.g., "AddTrust External CA Root")
  • Contains: The root CA's public key
  • Issued by: Itself (self-signed)
  • Used for: Establishing trust
  • Pre-installed in: Every operating system and browser

How Certificate Chain Validation Works

When a browser connects to your HTTPS site:

  1. Server sends certificate chain - The server sends three certificates in order
  2. Browser verifies leaf certificate - Checks that the domain matches and the certificate isn't expired
  3. Browser verifies leaf signature - Uses the intermediate's public key to verify that the intermediate signed the leaf certificate
  4. Browser verifies intermediate - Checks that the intermediate's signature is valid
  5. Browser finds root in trust store - Looks up the root certificate in its pre-installed trust store
  6. Trust established - If the root is found and all signatures are valid, the chain is trusted

If any link in this chain breaks, the connection fails or shows warnings.

Real-World Example Chain

Leaf Certificate (your domain)
├─ Signed by: Intermediate CA
│  └─ Contains issuer: "Intermediate CA Name"
│
Intermediate Certificate
├─ Signed by: Root CA
│  └─ Contains issuer: "Root CA Name"
│
Root Certificate
├─ Self-signed
│  └─ Contains issuer: "Root CA Name"
└─ Pre-installed in browsers/OS

A real example from a major website might look like:

Certificate for: example.com
├─ Common Name: example.com
├─ Issued by: DigiCert SHA2 Secure Server CA
├─ Valid: 2024-01-01 to 2025-01-01

Intermediate: DigiCert SHA2 Secure Server CA
├─ Issued by: DigiCert Global Root CA
├─ Valid: 2013-03-05 to 2028-03-04

Root: DigiCert Global Root CA
├─ Self-signed
├─ Valid: 2006-11-28 to 2031-11-28
└─ Pre-installed in all browsers
Advertisement

What the Chain Shows at Each Level (Cheat Sheet)

Reading a chain is really just reading three or four fields per certificate and checking they line up. This table is what to look for at each level:

FieldLeaf (your domain)Intermediate CARoot CA
SubjectYour domain (e.g. example.com)The intermediate CA nameThe root CA name
IssuerThe intermediate's SubjectThe root's SubjectItself (Subject = Issuer)
Self-signed?NoNoYes — the tell-tale of a root
Contains your domain?Yes (CN + SAN)NoNo
Sent by the server?YesYes (must be)No — client already has it
Where trust comes fromSigned by intermediateSigned by rootPre-installed in trust store
Typical validity90 days (Let's Encrypt) – 1 year5–10 years20–30 years
Which one to check when...domain/expiry mismatch"unable to get local issuer" / incomplete chain"self-signed cert in chain" / untrusted root

The single most useful test: for every certificate, its Issuer must exactly equal the Subject of the certificate directly above it. When that alignment breaks, so does the chain.

What Each Certificate in the Chain Contains

Your Certificate (Leaf)

  • Subject: Your domain name
  • Subject Alternative Names: example.com, www.example.com, etc.
  • Public Key: Used to verify signatures from you
  • Validity Period: When the certificate is valid
  • Issuer: Which CA signed it
  • Certificate Serial Number: Unique identifier
  • Signature: The intermediate CA's signature proving they issued it

Intermediate Certificate

  • Subject: Intermediate CA name
  • Public Key: Used to verify signatures from the intermediate
  • Issuer: The root CA
  • Extensions: Key usage, constraints, etc.
  • Signature: Root CA's signature

Root Certificate

  • Subject: Root CA name (same as issuer, because it's self-signed)
  • Public Key: Used to verify intermediate's signature
  • Issuer: Itself
  • Validity: Usually 20-30 year validity
  • Signature: Self-signed

Why Intermediate Certificates Exist

You might wonder why there's an intermediate level. Why not just have every certificate signed directly by the root?

Root Key Security - Root keys must be kept in secure, offline storage. If a root key is compromised, the entire system collapses. By using intermediates, the root stays offline.

Risk Isolation - If an intermediate CA is compromised, you can revoke it without affecting the root's other intermediates.

Scalability - One root can support many intermediates, allowing CAs to issue millions of certificates.

Key Rollover - CAs can retire old roots and introduce new ones by having intermediates signed by new roots.

Certificate Chain Issues

Before the walkthroughs, here is the fast-lookup version — the error you see, what actually causes it, and the fix:

Symptom / error messageRoot causeFix
unable to get local issuer certificateServer omits the intermediate; client can't reach a trusted rootServe the full-chain file (leaf + intermediate concatenated)
SSL checker reports "incomplete chain" but browser is fineModern browser fetched the intermediate via the AIA URL; stricter clients won'tAdd the intermediate; don't rely on AIA fetching
self-signed certificate in certificate chainThe presented chain terminates at a cert that isn't in the trust storeUse a CA-issued cert, or install the private root on the client (internal PKI)
certificate has expired on a still-valid leafAn intermediate in the path expiredReissue/rotate the intermediate bundle from your CA
Trusted on desktop, untrusted on old Android/IoTClient trust store predates the current root; needs cross-signed pathServe the cross-signed intermediate chaining to the older root
Issuer of leaf ≠ Subject of the next certWrong or mismatched intermediate bundledDownload the exact intermediate your CA lists for your leaf

Common certificate chain problems include:

Missing Intermediate Certificate

If you don't configure your server to send the intermediate certificate, browsers must fetch it themselves. This causes:

  • Slower connections (extra HTTP requests)
  • Connections may fail on some networks
  • SSL checker will report "incomplete chain"

Solution: Configure your server to send the complete chain:

For Nginx:

ssl_certificate /path/to/certificate.pem;  # Should contain: leaf + intermediate

For Apache:

SSLCertificateFile /path/to/certificate.pem
SSLCertificateChainFile /path/to/intermediate.pem

Expired Certificate

Any certificate in the chain (leaf, intermediate, or root) can expire:

  • If the leaf expires: New certificate needed
  • If the intermediate expires: CA must issue new certificate, but usually automatic
  • If the root expires: This is rare and browsers usually don't fail immediately

Self-Signed Certificates

A certificate signed by itself (not by a CA):

  • Not in trust stores
  • Browsers show warnings
  • Used for internal testing only, not production

Wrong Issuer

If a certificate's issuer doesn't match the signer, the chain is broken.

Checking Your Certificate Chain

The most direct check is the one command every CA support desk asks you to run — it prints exactly what the server sends on the wire (not what your browser reconstructs):

openssl s_client -connect example.com:443 -servername example.com -showcerts </dev/null

Count the -----BEGIN CERTIFICATE----- blocks: you should see the leaf and the intermediate. If you only see one block, your chain is incomplete. To build or repair an incomplete chain, paste your certificates into the Certificate Chain Builder, which orders the leaf, intermediate, and root for you.

SSL Checker displays your certificate chain:

  1. Look at "Certificate Chain" section
  2. Identify all three levels
  3. Check validity dates (ensure none are expired)
  4. Verify issuer names match expected CAs
  5. Note any warnings (incomplete chain, weak algorithms, etc.)

A healthy certificate chain shows:

  • Three certificates (leaf, intermediate, root)
  • All within validity periods
  • Proper issuer-subject relationships
  • Recognized root CA

Advanced Chain Topics

Chain of Trust The chain of trust is verified cryptographically:

  • Root's public key signs intermediate's certificate
  • Intermediate's public key signs your certificate
  • Breaking any signature breaks the chain

Multiple Intermediates Some CAs use multiple levels:

Leaf ← Intermediate 1 ← Intermediate 2 ← Root

This is valid and works the same way, just with more levels.

Cross-Signed Certificates A certificate can be signed by multiple authorities:

Leaf signed by:
├─ Old Root (deprecated)
└─ New Root (current)

Browsers can follow either path, providing compatibility during root transitions.

Online Certificate Status Protocol (OCSP) Some browsers verify certificate revocation by asking the CA if a certificate has been revoked. The chain confirms you're talking to a legitimate CA.

Certificate Chain Security Implications

Chain Compromise - If any certificate in the chain (except the root) is compromised, all certificates below it are suspect. The intermediate is particularly critical because it signs your certificate.

Root Compromise - If a root is compromised, every certificate it's issued (directly or indirectly) is suspect. This is catastrophic and has happened historically: the 2011 DigiNotar breach led browsers to distrust the CA entirely (fraudulent *.google.com certificates were issued), and the 2011 Comodo incident saw an attacker mint certificates for major domains. In both cases the response was mass revocation and, for DigiNotar, removal of the root from every trust store.

Chain Revocation - A compromised intermediate or leaf certificate can be revoked through the chain. Browsers check revocation status before trusting certificates.

Best Practices for Certificate Chains

  1. Always include the complete chain - Configure your server to send leaf + intermediate
  2. Monitor expiration dates - All certificates, especially intermediates
  3. Use reputable CAs - Established authorities with good security practices
  4. Verify chain with SSL Checker - Regularly check your configuration
  5. Update root certificates - Keep your OS/browser's root store current
  6. Plan for key rotation - Have a process for transitioning to new intermediates/roots
  7. Test thoroughly - Before deploying new certificates, test the complete chain

Conclusion: Certificate Chains Establish Digital Trust

Certificate chains are the foundation of HTTPS security. They create an unbroken cryptographic chain of trust from your server's certificate back to authorities pre-installed in every browser. Understanding what each certificate in the chain does, why intermediates exist, and how to troubleshoot chain issues is essential for maintaining secure HTTPS. The certificate chain is not just a technical detail—it's the mechanism that proves your website is who it claims to be.

Frequently Asked Questions

What does a certificate chain show?

A certificate chain shows the ordered path from your server's leaf certificate, through one or more intermediate CA certificates, up to a self-signed root certificate that browsers already trust. Each link shows who was issued the certificate (Subject), who signed it (Issuer), and a cryptographic signature proving the issuer above vouched for it. Reading the chain tells you whether every signature validates and whether it terminates at a root in the browser's trust store.

How many certificates should be in a chain?

A well-configured server sends the leaf plus every intermediate, but not the root. Most public chains are two files on the wire (leaf + intermediate) that validate to a root already in the trust store, so you see three certificates total when a checker displays the resolved chain. Sending the root is harmless but wasteful; omitting the intermediate is the common misconfiguration that breaks trust.

Why is the root certificate not sent by the server?

The root is already installed in the operating system and browser trust store, so sending it adds bytes without adding trust. Clients ignore a server-supplied root and validate against their own copy. Trust comes from the client possessing the root out-of-band, never from the server claiming it.

What is the difference between the leaf, intermediate, and root certificate?

The leaf (end-entity) certificate is issued to your domain and carries your public key and SAN list. The intermediate certificate belongs to the CA that signed your leaf and chains up to the root. The root certificate is self-signed, has no issuer above it, and lives in the trust store as the anchor. Only the leaf should contain your domain name; intermediates and roots identify certificate authorities.

What does an incomplete certificate chain mean?

An incomplete chain means the server did not send the intermediate certificate, so clients cannot connect the leaf to a trusted root. Some browsers fetch the missing intermediate via the Authority Information Access (AIA) URL and recover, but many clients (older Android, some API libraries, openssl s_client without -showcerts context) fail with an "unable to get local issuer certificate" error. The fix is to include the full-chain file that concatenates leaf and intermediate.

How do I check my certificate chain?

Run openssl s_client -connect example.com:443 -showcerts to see every certificate the server actually sends, or paste your PEM files into a chain builder that orders leaf, intermediate, and root and reports any gaps. Verify each certificate's validity dates, confirm each Issuer field matches the Subject of the certificate above it, and confirm the top terminates at a recognized root CA.

What happens if an intermediate certificate expires?

If an intermediate expires, every leaf certificate beneath it fails validation even if the leaf itself is still valid, because the chain can no longer reach a trusted root. This has caused large public outages. CAs normally roll intermediates well before expiry, but pinned or manually bundled intermediates can go stale, so treat intermediate expiry dates as part of your monitoring.

Is a self-signed certificate part of a chain?

A self-signed certificate is a chain of length one where the Subject and Issuer are identical and nothing above vouches for it. Because no trusted CA signed it, it is absent from browser trust stores and triggers warnings. Roots are also self-signed, but they are trusted because they were audited and pre-installed, not because of anything in the certificate itself.

sslcertificatespkitrustchain