SSL / TLS Certificate Inspector
Domain & Port to audit
Quick:
Check Expiry & Dates
Returns notBefore / notAfter — should be >30 days out
Verify Certificate Chain
Full chain: leaf → intermediate → root CA
Subject & SANs
Verify domain name match and Subject Alternative Names
Protocol & Cipher Test
Confirm TLS 1.2+ and reject legacy protocols
OCSP Revocation Check
Verify certificate has not been revoked
Connectivity Troubleshooting
Basic checks when HTTPS connection fails
TLS 1.3 & HSTS Check
Confirm modern TLS and HTTP Strict Transport Security header
Certificate Transparency & crt.sh
Search public CT logs for all issued certs for this domain
⚠️ Common SSL Issues
  • Expired cert — renew immediately
  • Incomplete chain — missing intermediate
  • Name mismatch — cert ≠ domain
  • Self-signed — not trusted by browsers
  • Weak TLS — old 1.0/1.1 or weak ciphers
  • Revoked cert — check OCSP status
✅ Best Practices
  • Use Let's Encrypt + certbot auto-renewal
  • Monitor expiry 30 days before deadline
  • Enable OCSP stapling in web server
  • Enforce TLS 1.2+, disable 1.0/1.1
  • Include all intermediate certs
  • Keep backup certificates ready
Share MySysAd

⚠️ IMPORTANT DISCLAIMER: The tools and scripts on this site are provided "AS IS" for educational purposes.

Review destructive commands before executing. By using this site, you assume all risk and agree to our Full Terms of Service.

Check a site’s certificate from the command line

Enter a domain and port. The page tests whether your browser can make a trusted HTTPS connection, which fails fast for expired or untrusted certificates, and builds the OpenSSL commands that show the details: expiry dates, the full chain, the names covered and the TLS versions the server accepts.

Common questions

How do I check an SSL certificate’s expiry date from the command line?

echo | openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -dates prints notBefore and notAfter. Add -checkend 2592000 to the last command to fail if it expires within 30 days, handy in a cron job.

What does “unable to get local issuer certificate” mean?

The server isn’t sending its intermediate certificate, so the client can’t link your certificate to a trusted root. Browsers sometimes cope, but curl, Java and many APIs fail. Configure the full chain (in nginx, ssl_certificate should point to the certificate followed by the intermediates).

How do I see the whole certificate chain a server sends?

openssl s_client -connect example.com:443 -servername example.com -showcerts prints every certificate the server sends, in order. The leaf comes first, followed by the intermediates.

How do I check which TLS versions a server supports?

Try each one: openssl s_client -connect example.com:443 -tls1_2 and -tls1_3. A handshake that fails means the version is disabled. TLS 1.0 and 1.1 should be off on any modern server.

Why does -servername matter?

Servers hosting several sites use SNI to pick the certificate. Without -servername, openssl may get a default certificate for a different site and report a name mismatch that browsers never see.

Related tools: SSL Forensics · PKI Inspector · Certificate Converter · All tools A–Z