SSL certificate check

Checks the certificate a server presents: issuer, expiry date, the SAN list and whether the chain is complete.

Why the browser shows a warning

Three reasons cover almost every case: the certificate has expired, the chain the server sends is incomplete, or the host name being opened is not in the certificate. The last one happens when the certificate was issued for example.com and the site is opened as www.example.com. Browsers match the address against the subjectAltName list, so a name that appears only in the common name field does not count.

An incomplete chain is the deceptive one. A desktop with a recent operating system may open the site without complaint because it already holds the intermediate certificate, while an older phone or a curl call refuses it. The server has to send its own certificate together with every intermediate above it, and only the root may be left out.

Expiry and renewal

Certificate lifetimes keep getting shorter, so renewal has to be automatic. If a certificate is still renewed by hand, set the reminder at least 20 days before the expiry date, and remember that installing the file is not the last step: the service has to be reloaded before it serves the new certificate.

Frequently asked questions

Does the tool check for revoked certificates?

Not at the moment. It checks the certificate contents, the chain, the validity dates and the TLS connection itself. Revocation status depends on the OCSP service of the issuer, which is not always reachable.

What is a SAN?

The subjectAltName is the list of names a certificate is valid for. Browsers match the address against that list and ignore the older common name field, so a name missing from the list produces a warning even when the certificate is otherwise fine.

Can I check a certificate on another port?

Yes. Add the port after a colon, for example mail.example.com:993. This works for services that begin the connection with TLS straight away, such as 443, 993 and 465.

Does a wildcard certificate cover every subdomain?

No. *.example.com matches one label, so it covers shop.example.com but not a.shop.example.com, and it does not cover the bare example.com unless that name is listed as well.