Security

SSL Checker

Inspect certificate chain, expiry and algorithm for any site.

Hostname host or host:port (default 443)
cloudflare.com:443
TLSv1.3 expires in 72d
Verdict
  • Certificate is valid for this host and not expired.
Subject?
cloudflare.com
Issuer?
WE1 — Google Trust Services
Valid from
2026-07-08T21:47:39Z
Valid to?
2026-10-06T22:47:27Z
Signature algorithm?
ecdsa-with-SHA256
Public key?
EC 256 bits
Negotiated cipher?
TLS_AES_256_GCM_SHA384
Chain depth?
3
Hostname matches?
yes
Self-signed?
no
Subject Alternative Names?
  • cloudflare.com
  • ns.cloudflare.com
  • *.ns.cloudflare.com
  • *.secondary.cloudflare.com
  • secondary.cloudflare.com
Raw certificate (PEM)
-----BEGIN CERTIFICATE----- MIID0TCCA3igAwIBAgIQW7DwqoTI/s4OctgFunpdKzAKBggqhkjOPQQDAjA7MQsw CQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNlcnZpY2VzMQwwCgYD VQQDEwNXRTEwHhcNMjYwNzA4MjE0NzM5WhcNMjYxMDA2MjI0NzI3WjAZMRcwFQYD VQQDEw5jbG91ZGZsYXJlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNDs LiTwXD8kBejjJ84lHC2pA/dk9KmXCEvGw3h8Q+7k8VsHg+RTC59ZKvGB64Sxa/VY QKmErVJnaVKGW/ZmtpyjggJ+MIICejAOBgNVHQ8BAf8EBAMCB4AwEwYDVR0lBAww CgYIKwYBBQUHAwEwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUacXlKENrJNyJKrq/ tuW/cwIbht8wHwYDVR0jBBgwFoAUkHeSNWfE/6jMqeZ72YB5e8yT+TgwNQYIKwYB BQUHAQEEKTAnMCUGCCsGAQUFBzAChhlodHRwOi8vaS5wa2kuZ29vZy93ZTEuY3J0 MHcGA1UdEQRwMG6CDmNsb3VkZmxhcmUuY29tghFucy5jbG91ZGZsYXJlLmNvbYIT Ki5ucy5jbG91ZGZsYXJlLmNvbYIaKi5zZWNvbmRhcnkuY2xvdWRmbGFyZS5jb22C GHNlY29uZGFyeS5jbG91ZGZsYXJlLmNvbTATBgNVHSAEDDAKMAgGBmeBDAECATA2 BgNVHR8ELzAtMCugKaAnhiVodHRwOi8vYy5wa2kuZ29vZy93ZTEvZ3hJQnY2QjJo WXcuY3JsMIIBBgYKKwYBBAHWeQIEAgSB9wSB9ADyAHcA2AlVO5RPev/IFhlvlE+F q7D4/F6HVSYPFdEucrtFSxQAAAGfQ+pcGAAABAMASDBGAiEAmWXvLSMhlxmi1S+K 4kRMCdLEX+wGBAbdVV32dnt5a6sCIQD6pKaA18jr06ffv31tpjCDisobc6KEE61J wvVxvqwLegB3AJROQ4f67MHvgfMZJCaoGGUBx9NfOAIBP3JnfVU3LhnYAAABn0Pq W+oAAAQDAEgwRgIhALnZFhafFrXB4xJaLIy3mygxmpU7RRsZ6OFFtczrFM75AiEA +8DfUCZ9uOzHPcJ/wEeuBbTnezletxwXYeeR1puJ1PowCgYIKoZIzj0EAwIDRwAw RAIgemJR8aLVJo+E0p0FEfr5tr1cqlieMgJz99Z4kQ2qV/0CIDkILcHmaYKjAb/E 1SRXgGzSIHgL8yrIPq70NQh9H4iP -----END CERTIFICATE-----
What does each field mean?

Field reference

Subject

The Subject field identifies the certificate holder. Modern certificates rely on the CN (Common Name) plus Subject Alternative Names. Organization (O), Organizational Unit (OU), and Locality (L) are present for EV/OV certs and absent for plain DV (free) certs like Let's Encrypt.

Issuer

Identifies the CA that vouched for the subject. Browsers ship a list of trusted root CAs; certificates signed by an untrusted issuer (or self-signed) trigger NET::ERR_CERT_AUTHORITY_INVALID. Common public CAs: Let's Encrypt, DigiCert, Sectigo, GlobalSign, GoDaddy.

Subject Alt Names (SAN)

A single certificate can cover multiple hostnames via the SAN extension — typical for wildcard (<code>*.example.com</code>) or multi-domain (SAN) certs. Browsers ignore the Common Name and match only against SAN entries since 2017. If your hostname is not listed here, the certificate is invalid for that host.

Chain depth

A trust chain starts with the server's leaf cert, passes through one or more intermediate CA certs, and ends at a root CA in the browser's trust store. Depth 2 (leaf + 1 intermediate) is typical. Misconfigured servers often forget to send intermediates — clients then see "incomplete chain" errors.

Signature algorithm

Describes how the CA signed the cert. <code>sha256WithRSAEncryption</code> (RSA + SHA-256) is the safe default. <code>ecdsa-with-SHA256</code> uses elliptic curves — smaller keys, same security. <code>sha1WithRSAEncryption</code> has been broken since 2017 and is rejected by all major browsers.

Public key

The public half of the keypair. RSA 2048 bits is the practical minimum today; 3072+ for long-lived keys. EC P-256 is shorter (~256-bit equivalent strength) and faster. Anything below RSA 2048 or older than P-256 should be replaced.

Negotiated cipher

Describes encryption used for the actual data: key exchange (ECDHE), cipher (AES_256_GCM, CHACHA20_POLY1305), MAC (SHA384). Forward-secret cipher suites (ECDHE-*) are required by most security standards. CBC-based or RC4 suites are obsolete.

Hostname match

Even a perfectly valid certificate is rejected if the requested hostname is not in the SAN list. Wildcards match exactly one DNS label: <code>*.example.com</code> covers <code>www.example.com</code> but NOT <code>a.b.example.com</code> or the bare <code>example.com</code>.

Self-signed

A self-signed cert has the same Subject and Issuer. Browsers do not trust it by default — you would see "NET::ERR_CERT_AUTHORITY_INVALID". Fine for internal/staging environments where you control both server and client. For production, use Let's Encrypt (free) or a public CA.

Valid to (expiry)

Browsers reject expired certificates outright. Public-CA certs typically last 90–397 days. Set up auto-renewal: ACME / Let's Encrypt at 60 days remaining, commercial CAs at 30 days. Watch for the gradual industry shift to 90-day mandatory lifetimes by 2027.

Fully valid

All baseline checks passed: trust chain anchors at a browser-trusted root, hostname matches the SAN, the cert is within its validity window, and the signature algorithm is acceptable. This is the green-padlock state browsers display.

About this tool

SSL Checker opens a real TLS connection to your host, captures the certificate chain the server presents, and reports everything that matters: subject, issuer, validity dates, the full intermediate chain up to the trust anchor, signature algorithm, public key size, supported TLS versions and cipher suites, Subject Alternative Names, and OCSP stapling status. The check happens server-side from our Frankfurt host so you see exactly what a remote visitor sees — not what your browser cached.

A clean certificate is not just "the green padlock". We validate hostname matching against SANs (the legacy CN field is informational only, per RFC 6125), check that each link in the chain is signed by the next, verify that intermediates are presented in the right order (a common deploy mistake), confirm the leaf has not expired and is not yet valid, and warn if the leaf uses a weak signature (SHA-1) or undersized key (RSA < 2048 bits). All this in one HTTPS handshake.

When to use this tool

  • Pre-deploy verification. After provisioning Let's Encrypt or buying a commercial cert, confirm the chain is complete before pointing real users at it.
  • Expiration monitoring. Spot certs that will expire in the next 7/14/30 days and renew before alarms fire.
  • Mixed-content debugging. Find subdomains that present a different (or self-signed) cert from the main site.
  • Migration sanity checks. After moving to a new CDN or load balancer, verify the new cert and chain are what you expect.

What "chain incomplete" actually means

Browsers and OS trust stores ship a few hundred root CAs. Your leaf certificate is signed by an intermediate, which is signed by another intermediate or directly by a root. The web server must send the leaf + every intermediate up to (but not including) the root — Firefox and Chrome will try to fetch missing intermediates from the AIA extension, but iOS, older Android, and most non-browser TLS clients will reject the handshake. Our chain inspector tells you exactly which link is missing, so you can paste the right intermediate into your server config.

Frequently asked questions

My browser shows the padlock but your tool says "chain incomplete" — who is right?

Both. Modern desktop browsers patch incomplete chains by fetching missing intermediates over the AIA extension or from their own caches — the user sees a working padlock. But iOS Safari, many Android apps, curl, OpenSSL clients, and non-browser TLS libraries do not do this. If our tool says "incomplete" your site will fail on a non-trivial fraction of clients; fix it by serving the full chain from the server.

What is OCSP stapling?

A way for the server to attach a recent CA-signed proof-of-validity to the certificate during the TLS handshake — so the browser does not have to call out to the CA's OCSP responder on every connect. Stapling makes page loads faster and protects user privacy (the CA never learns which sites the user is visiting). Most modern web servers (nginx, Apache 2.4, Caddy) support it; many turn it on by default.

How often should I check?

Once a week is plenty for production. Let's Encrypt certs renew every 60–90 days, commercial certs every 12 months; either way an unnoticed expiry is the most common SSL failure mode. We cache results for 10 minutes so a quick re-check after a deploy gives immediate feedback. Pair this with an automated monitor (Uptime Kuma, StatusCake) for proactive alerts.

Why does the tool not validate against my private CA?

We use the standard public CA trust bundle (Mozilla's, which most operating systems also use). Private CAs — internal corporate roots, ACME-CA on a homelab — are not in any public trust store, so the chain validation will (correctly) flag them as untrusted. The certificate details (subject, dates, key size) are still reported; only the trust-anchor check fails.