b2KIT

SSL Certificate Chain Viewer

Visualize the complete SSL certificate chain from leaf to root CA. Check chain completeness and intermediate certificates.

Tested tool guide Tested browser tools Checked August 16, 2026

What SSL Certificate Chain Viewer does, with a checked example

Paste a PEM certificate or a full chain and this tool draws the trust path from your leaf certificate up to the root CA, matching each certificate's issuer to the next certificate's subject. It judges the chain complete or incomplete: a chain whose top certificate is not self-signed is missing at least one intermediate, and the tool names the certificate that is absent. The surprise most people hit is that their browser can load a site with a broken chain, because the browser already holds the missing intermediate in its cache - so 'it works for me' never proves the server is sending a complete chain.

Worked example

A concrete input and expected output from the current implementation.

Input

Two PEM certificates pasted leaf-first, as a server would send them:
1. Leaf: Subject CN = shop.example.com, Issuer CN = R3 (Let's Encrypt)
2. Intermediate: Subject CN = R3, Issuer CN = ISRG Root X1

Expected output

A chain of three tiers is drawn: shop.example.com -> R3 -> ISRG Root X1. Both links check out: the leaf's issuer (R3) matches the intermediate's subject (R3), and the intermediate's issuer (ISRG Root X1) matches the root's subject (ISRG Root X1). The root is self-signed, so the chain terminates there. Verdict: complete, no missing intermediate.

This is the standard Let's Encrypt path: ordinary certificates are signed by the R3 intermediate, which is signed by the self-signed ISRG Root X1. Because every issuer matches the subject above it and the top certificate is self-signed, the chain needs no further certificates.

How the result is produced

1

Parsing and linking certificates

The tool reads every PEM block delimited by BEGIN CERTIFICATE and END CERTIFICATE lines, decodes the base64 DER, and extracts each certificate's subject and issuer names. It then lays the certificates out so that each one's issuer matches the subject of the certificate above it, drawing the leaf at the bottom and the terminating root at the top.

2

What completeness means

Every certificate states its issuer by name, so a truncated chain names its own missing piece: the issuer field of the topmost certificate is the subject of the certificate that should follow it. The chain is judged complete when the top certificate is self-signed, subject equal to issuer, and incomplete otherwise.

Good uses

  • Visitors with mainstream browsers see a working site, but curl, mobile apps, or Java clients fail with 'unable to get local issuer certificate': paste the deployed fullchain and see whether the intermediate is missing or the files were concatenated out of order.
  • Assembling a chain by hand for an nginx ssl_certificate directive, an Apache SSLCertificateFile, a Java keystore import, or a device that takes the certificate and CA as separate fields, and you need to confirm order and completeness before it goes live.
  • You were handed a certificate bundle by a CA, a colleague, or a third-party download, and you want to see which CA issued it, whether an expiring or cross-signed intermediate sits in the path, and where the chain terminates.

Limits and checks

  • The tool sees only what you paste: it cannot fetch missing intermediates or query your server. A pasted leaf alone produces a truncated chain that names the absent issuer, and you must obtain and paste that intermediate yourself.
  • Complete is not trusted. A chain ending in a self-signed root is structurally finished, but clients accept it only when that root is in their trust store; a private or newly introduced root is rejected by clients that do not know it.
  • The pasted chain may differ from what the server really sends. Browsers patch short chains from cached intermediates, so a working browser session proves nothing about server configuration; verify with a client that has no cache.

Common questions

The tool says an intermediate is missing, but the site loads fine in my browser. Who is right?

Both can be. Browsers keep intermediates cached from earlier connections, and some clients fetch a missing intermediate from the Authority Information Access URL embedded in the certificate. Others - curl with a strict bundle, many mobile apps, embedded devices - never do and will reject the site. Sending the full chain satisfies both.

The chain ends at a self-signed certificate. Does that mean it is trusted?

No. Self-signed means the chain cannot go any higher, so it is complete in structure. Trust is a separate question: a public site should end at a root that ships with operating systems and browsers, while a chain ending at your own private root is accepted only by clients configured to trust it.

References and verification

The example and behavioral notes were checked against the browser implementation. Standards and primary references below define the relevant format, formula, or platform behavior.

Related Tools