Skip to content
ForgePlug — Logo
developerRuns Server-SideNo Signup

SSL Checker

A real SSL/TLS checker that opens an actual TLS handshake on port 443 and reads the live certificate chain — no cached or approximate data. See the exact expiry date and days remaining, the issuing CA, whether the chain is complete, the negotiated protocol version (flagging deprecated TLS 1.0/1.1), and the cipher suite (flagging known-weak ciphers). Part of ForgePlug's Site Health Check, which also runs DNS, HTTP security header, and robots.txt checks on the same domain at no extra cost.

This check runs server-side — ForgePlug briefly connects to the domain you enter to read its certificate, DNS records, response headers, and robots.txt/sitemap. We don't store anything beyond a 5-minute result cache (to avoid re-running the same check for everyone hitting a trending domain) and a short-lived snapshot used to compare a re-check later.

How this SSL checker reads your certificate

A real TLS handshake on port 443, not a cached lookup.

Most "SSL checker" pages either scrape a third-party certificate transparency log or reuse a stale cached result. This one opens an actual TLS connection to your domain on port 443 and reads the certificate the server presents right now — the same handshake a visitor's browser performs.

From that handshake it reports the exact expiry date and days remaining, the issuing certificate authority, whether the full chain (leaf → intermediate → root) resolves to a trusted authority, which protocol version was negotiated — flagging TLS 1.0 and 1.1, which modern browsers are actively deprecating — and the negotiated cipher suite, flagging known-weak ciphers like RC4 or 3DES.

Because it's part of ForgePlug's full Site Health Check, submitting also runs a DNS propagation check, an HTTP security header scan, and a robots.txt/sitemap validation on the same domain — all in parallel, at no extra cost.

Frequently Asked Questions

SSL certificate checking, explained

How is this different from a dedicated SSL checker?
It performs the same real TLS handshake on port 443 that a dedicated SSL checker does — reading the certificate chain, expiry, negotiated protocol version, and cipher suite — and flags TLS 1.0/1.1 and known-weak ciphers. It also runs the DNS, header, and robots.txt checks alongside it at no extra cost, since they're already part of the same tool.
What counts as an expiring certificate?
This tool warns at 21 days remaining and fails once a certificate has actually expired. Renewing with a couple of weeks of headroom avoids the last-minute scramble if a renewal job silently fails.
My certificate works in Chrome but fails in curl or my app. Why?
Almost always an incomplete chain. Your server is sending the leaf certificate but not the intermediate certificate that links it to a trusted root. Browsers hide this — they cache intermediates from other sites and can fetch missing ones on demand — while curl, Java clients, Android apps, and webhook receivers generally cannot. Configure your server to send the full chain, not just the leaf.
What is a SAN, and why does a valid certificate still show a name mismatch?
The Subject Alternative Name list is the set of hostnames a certificate actually covers. A certificate issued for example.com does not automatically cover www.example.com or api.example.com — each name has to be listed. A mismatch means the certificate itself is perfectly valid, just not for the hostname you connected to.
Does a certificate expiring mean my site goes offline?
The server keeps serving, but browsers show a full-page interstitial warning that most visitors will not click through, and non-browser clients typically refuse the connection outright. Functionally it behaves like an outage for both human traffic and API integrations.
Should I still support TLS 1.0 and 1.1 for older clients?
Generally no. Both are formally deprecated, and browsers plus major payment processors have moved from warning to hard-failing them. Keeping them enabled mainly preserves compatibility with clients that are already unable to reach most of the modern web, at the cost of weakening every connection you serve.
Is this really free, and is there a limit?
Yes — Site Health Check is free and doesn't require an account. Like every ForgePlug tool it's rate-limited per IP address (a handful of checks per minute) to keep the service fast and available for everyone, not to push a paid tier.
Why does this tool need a server? Aren't ForgePlug's tools all browser-based?
Almost all of them are — but a browser can't open a raw TLS handshake, query a DNS resolver directly, or fetch another site's headers without hitting CORS. Those three things require a real network connection from a server, so this one tool runs a small, rate-limited check server-side instead of pretending it can do it client-side.
What do you do with the domain I check?
The check result is cached for 5 minutes so a burst of people checking the same trending domain doesn't trigger five fresh outbound connections each time, and the most recent result is kept briefly so a re-check can eventually show what changed. We don't log who checked what.

Guides & Articles

Learn how to get the most out of this tool with our in-depth guides.

Tool Overview

A closer look at SSL Checker — how it works, who it's for, and where it fits in your workflow.

An SSL certificate almost never fails gradually. It works perfectly for months and then, at a specific timestamp, every browser and API client hitting your domain starts throwing warnings at once. The failure is binary and it is scheduled — which is exactly why it so often lands on a weekend, during a holiday, or the morning of a launch, when the person who set up the renewal is unreachable.

The more confusing failure is the one where the site looks fine to you and broken to someone else. That is almost always an incomplete chain. A certificate is not a single file: it is your leaf certificate plus one or more intermediate certificates linking it back to a root your client already trusts. Desktop browsers quietly paper over a missing intermediate, because they cache intermediates they have seen elsewhere and can fetch missing ones on the fly. Most non-browser clients do not. So curl, a Java service, an Android app, a webhook receiver, or a payment provider's callback will reject a chain that Chrome renders without a murmur — and you will spend an afternoon insisting the certificate is valid because, on your machine, it is.

This checker opens a real TLS handshake against port 443 and reports what the server actually presented: the leaf certificate's subject and SAN entries, its issuer, the not-before and not-after dates, the chain the server sent, the negotiated protocol version, and the cipher suite. Nothing is inferred from a cached scan or a third-party database — if the result says TLS 1.2 with a particular cipher, that is what the connection negotiated at the moment you pressed check.

It flags the three failure modes that actually cause outages: a certificate that has expired or is close to it, a hostname that is not covered by the certificate's SAN list, and a negotiated protocol or cipher old enough that modern clients have started refusing it. TLS 1.0 and 1.1 are the ones to watch — both are formally deprecated, and browsers and payment processors have been progressively hard-failing them rather than warning.

Key Features

Everything you get with this tool, at a glance.

Live handshake, not a lookup

Connects to port 443 and reads the certificate the server actually presents right now.

Expiry with real headroom

Warns at 21 days remaining and fails once expired, so a silent renewal failure surfaces early.

Full chain inspection

Walks the chain the server sent, so a missing intermediate shows up before a client rejects it.

Weak protocol detection

Flags TLS 1.0/1.1 and known-weak ciphers including RC4, 3DES, DES, MD5, and anonymous DH.

Hostname coverage

Shows the certificate's subject and SAN entries so you can confirm the name you use is covered.

Reads untrusted certificates too

Deliberately inspects expired or self-signed certificates instead of refusing to connect and telling you nothing.

How to Use SSL Checker

Get from zero to done in four quick steps — no account, no learning curve.

  1. Enter the exact hostname clients use

    Check the hostname your users and API callers actually connect to. A certificate covering example.com does not automatically cover www.example.com or api.example.com unless those names are in its SAN list.

  2. Read the expiry line first

    This is the field with a deadline attached. If it warns, find out why the renewal did not run rather than renewing by hand — a manual renewal fixes today and leaves the same failure scheduled for 90 days out.

  3. Check the chain, not just the leaf

    If the chain looks short, suspect a missing intermediate. This is the single most common cause of 'works in my browser, fails in curl' reports from integration partners.

  4. Confirm the negotiated protocol

    TLS 1.2 or 1.3 is what you want. If the handshake settled on TLS 1.0 or 1.1, the server is still offering protocols that a growing share of clients will refuse outright.

  5. Re-check from the outside after any change

    After renewing or reconfiguring, run the check again rather than trusting a local test. A reloaded config on one node in a load-balanced pool is a classic way to fix the certificate for half your traffic.

Practical Examples

Real input and output pairs so you know exactly what to expect.

Healthy certificate

Input

cloudflare.com

Output

Pass — valid leaf and complete chain, TLS 1.3 negotiated, expiry comfortably beyond the 21-day warning threshold.

Certificate past its expiry date

Input

expired.badssl.com

Output

Fail — the certificate parses correctly but its not-after date is in the past, so conforming clients will refuse the connection.

Hostname not covered by the certificate

Input

wrong.host.badssl.com

Output

Fail — a technically valid certificate that does not list this hostname in its SAN entries, so the name does not match.

Guides & Articles

Learn how to get the most out of this tool with our in-depth guides.

Was this tool helpful?

Your feedback helps us improve SSL Checker for everyone.

Share this tool

Share