Search DevFox

Search tools and pages.

SSL Chain Inspector

Probe a host:port and render the full TLS certificate chain with subject, issuer, SAN, key, signature, fingerprints, and days-until-expiry

Loading tool...

What is SSL Chain Inspector

Written by Giorgos Kostas. Last reviewed:

SSL Chain Inspector connects to any public `host:port` (default 443) over TLS and reads the full certificate chain the server presents. Each certificate is rendered as a card with subject, issuer, SAN list, public-key algorithm and size, signature algorithm, validity window, days-until-expiry, SHA-256 fingerprint, and OCSP stapling status.

The result is a fast, focused tool for the most common TLS questions: does my chain include the right intermediates? When does my certificate expire? Does the SAN cover the hostname I'm serving?

Why use it

  • Confirm a freshly-issued certificate is installed correctly on every load balancer or edge node.
  • Catch expiring certificates before monitoring alerts fire (the days-until-expiry pill turns red below 30 days).
  • Verify the leaf SAN list covers every hostname the LB serves under one cert.
  • Inspect intermediates when a curl works locally but a mobile client throws TLS errors.
  • Copy any certificate as PEM for offline analysis without needing openssl on the box.

Features

  • Full chain (leaf, intermediates, root) with cards per certificate
  • SAN list, key alg + size, signature algorithm, fingerprint
  • Days-until-expiry pill turns red below 30 days
  • OCSP stapling detection
  • Copy any certificate as PEM

How to use SSL Chain Inspector

  1. Enter host[:port]. Default is port 443. Use `example.com:8443` for non-standard ports.
  2. Run the probe. The server proxy connects over TLS and reads the chain.
  3. Inspect each card. Subject, issuer, SAN, key, signature, expiry, OCSP.
  4. Copy PEM if needed. Each card has a 'Copy PEM' action for offline tooling.

Example (before/after)

Host

example.com:443

Chain summary

Leaf            CN=example.com           expires in  72 days
  SAN: example.com, www.example.com
  Key: ECDSA P-256, Sig: ECDSA-SHA384, OCSP stapled ✓
Intermediate    CN=R3                    issuer: ISRG Root X1
Root            CN=ISRG Root X1          self-signed

Common errors

Chain only shows the leaf certificate

The server didn't bundle intermediates; mobile clients and older browsers will throw a TLS error.

Fix: Re-deploy with the full chain (cert + intermediate(s)) in the same PEM bundle. The inspector shows what the server actually sent.

Hostname mismatch

The SAN list doesn't include the hostname you connected to.

Fix: Reissue with the missing hostname in the SAN list. Wildcard SANs only match a single label depth.

Expired or about-to-expire intermediate

Intermediate root expirations are easy to miss; clients will reject the chain even if your leaf is valid.

Fix: Pin to the long-lived intermediate published by your CA (Let's Encrypt rotates intermediates regularly).

FAQ

Is this an SSL Labs replacement?

No. SSL Labs is the gold standard for full grading (cipher suites, protocol downgrade, BEAST, weak DH params). The Chain Inspector is intentionally focused on the chain, expiry, key, and SAN — the questions that come up daily for ops and infra teams.

Can I test internal hosts?

No. The proxy runs in the cloud and only resolves public DNS. For internal hosts, run `openssl s_client -connect host:port -showcerts` from the network where the host is reachable.

Does it support SNI?

Yes — SNI is sent based on the hostname you provide. If you use a non-standard port, just append it (`example.com:8443`) and the inspector will still send SNI for `example.com`.

Is the connection logged?

We log timing, the host, and HTTP status for rate-limit purposes. Certificate contents are not stored — they're parsed in-memory and returned to your browser.

What does ‘OCSP stapled' mean?

When OCSP stapling is enabled, the server attaches a recent OCSP response inside the TLS handshake — the client doesn't need to reach the CA's OCSP responder separately. It improves connection time and avoids leaking visit data to the CA.