SSL/TLS certificate checker.

Check a site's SSL/TLS certificate, expiry date, certificate chain, SANs and issuer, plus which TLS versions the server accepts and the cipher it negotiates. This tool actually connects to the host, so what you see is what a client gets.

Connected to 172.217.76.108:465 as smtp.gmail.com · connect 9.5ms · handshake 13.7ms JSON · text

Chain Trusted Verified against the system root store
Hostname Matches smtp.gmail.com
Expires 46 days 2026-11-02T08:39:01Z
Negotiated TLS 1.3 TLS_AES_128_GCM_SHA256

Connection

Protocol
TLS 1.3
Cipher
TLS_AES_128_GCM_SHA256
ALPN
none offered back
OCSP staple
absent

Protocol support one handshake per version

TLS 1.0yes
TLS 1.1yes
TLS 1.2yes
TLS 1.3yes

Certificate chain 3 presented

  1. leaf

    smtp.gmail.com

    46d left
    Issuer
    WR2 (Google Trust Services)
    Valid
    2026-08-10T08:39:02Z → 2026-11-02T08:39:01Z
    Key
    ECDSA P-256
    Signature
    SHA256-RSA
    Serial
    1A3FF945FCCB28440A9A3D1FDDBE20B3
    SHA-256
    6D8B07AA4E50806A1E2C70690CBC50976DE62315BE0CC4AE8EDF8FF295442CB6
    SANs
    • smtp.gmail.com
    CRL
    http://c.pki.goog/wr2/75r4ZyA3vA0.crl
    CT logs
    2 embedded SCTs
  2. intermediate

    WR2 (Google Trust Services)

    887d left
    Issuer
    GTS Root R1 (Google Trust Services LLC)
    Valid
    2023-12-13T09:00:00Z → 2029-02-20T14:00:00Z
    Key
    RSA 2048 bit
    Signature
    SHA256-RSA
    Serial
    7FF005A07C4CDED100AD9D66A5107B98
    SHA-256
    E6FE22BF45E4F0D3B85C59E02C0F495418E1EB8D3210F788D48CD5E1CB547CD4
    CRL
    http://c.pki.goog/r/r1.crl
  3. intermediate

    GTS Root R1 (Google Trust Services LLC)

    498d left
    Issuer
    GlobalSign Root CA (GlobalSign nv-sa)
    Valid
    2020-06-19T00:00:42Z → 2028-01-28T00:00:42Z
    Key
    RSA 4096 bit
    Signature
    SHA256-RSA
    Serial
    77BD0D6CDB36F91AEA210FC4F058D30D
    SHA-256
    3EE0278DF71FA3C125C4CD487F01D774694E6FC57E0CD94C24EFD769133918E5
    OCSP
    http://ocsp.pki.goog/gsr1
    CRL
    http://crl.pki.goog/gsr1/gsr1.crl

About this tool

This server opens a TCP connection to the host and port you give it, performs a TLS handshake using the SNI name (the host by default), and reports what the server sent back. The chain is then verified against this machine's root store and the hostname is checked against the leaf's subject alternative names. Four extra short handshakes probe whether the server accepts TLS 1.0 through 1.3 individually. It is a live connection, not a certificate transparency search, so it shows exactly what a client sees today.

What the SSL checker reports

CheckWhy it matters
Expiry dateDays left on the leaf certificate and on every intermediate. Under 14 days is flagged. An expired intermediate takes every site behind it down at once.
Certificate chainEvery certificate the server sent, labelled leaf, intermediate or extra, and whether the chain builds to a trusted root. A missing intermediate is the usual cause of "works in Chrome, fails in curl". See certificate chains explained.
Hostname matchWhether the name you asked for appears in the SANs. A mismatch means the wrong certificate is being served, often a default virtual host.
SANsEvery name the certificate covers, including wildcards. Handy for spotting a forgotten www.
Issuer and keyWho signed it, the key type and size (RSA 2048, ECDSA P-256 and so on) and the signature algorithm. SHA-1 signatures and RSA under 2048 bits are rejected by modern clients.
TLS versionsWhich of TLS 1.0, 1.1, 1.2 and 1.3 the server still accepts. 1.0 and 1.1 are deprecated and fail PCI DSS.
Cipher and ALPNThe cipher suite negotiated with a modern client and whether h2 (HTTP/2) or h3 is offered via ALPN.
OCSP stapling and CTWhether a fresh revocation response is stapled to the handshake, and how many certificate transparency SCTs are embedded.

Common SSL certificate problems

Check when an SSL certificate expires

The Expires tile is the leaf certificate's days left; the chain list below it shows the same for every intermediate, which matters because an intermediate expiring takes down every site signed under it at once, and monitoring that only watches the leaf will not see it coming. Anything under 14 days is flagged. If you run more than one edge or load balancer, check each one separately by putting its IP address in Host and the site name in SNI: the most common expiry outage is a renewal that ran fine and was deployed to all but one of them. For a domain-wide view, the domain health checker includes the same expiry check alongside DNS, HTTP and email.

Check which TLS versions a server supports

The Protocol support grid is four extra handshakes, each offering exactly one version, so "yes" under TLS 1.0 means the server really completed a TLS 1.0 handshake, not that it advertised something. Old load balancers and appliances are the usual reason 1.0 and 1.1 are still on years after the application servers behind them were fixed. Both are deprecated (RFC 8996), fail PCI DSS, and modern browsers refuse them, so there is rarely a reason to keep them. A server that offers 1.2 but not 1.3 is missing the faster handshake and forward-secret-only cipher suites; see TLS 1.2 vs TLS 1.3 for what changes when you turn it on.

Testing with a different SNI

Setting a different SNI is handy for testing a new certificate on a shared IP before DNS is moved, or for checking the default certificate a server presents when no name matches. Put the load balancer's address in Host and the site name in SNI.

Examples

From the command line

curl "kirkdiamond.com/tools/tls?host=example.com" gives a plain-text report; add &format=json for structured output, &port= and &sni= as needed. Only public hosts can be inspected, and nothing about the connection is stored.