๐Ÿค–NEW:AI-Powered Incremental Builds โ€” your site updates in under 30 seconds. See what's new โ†’
TLS 1.3 & HSTS ยท SSRF Protected

SSL/TLS Configuration & Cipher Suite Checker

Inspect TLS protocol versions, verify TLS 1.3 handshake speed, audit HSTS preload headers, and check ALPN HTTP/2 negotiation.

Technical Deep-Dive

Understanding TLS Handshakes, HSTS & Certificate Health

What This Tool Actually Checks

This tool opens a real TLS socket connection to your target host on port 443 using Node's native tls module, negotiates ALPN protocol preference between HTTP/2 and HTTP/1.1, and reads back the actual negotiated protocol version (e.g. TLSv1.3, TLSv1.2), the selected cipher suite, and the peer certificate's validity window and issuing certificate authority. In a separate request it also fetches the live HTTP response headers to check for a Strict-Transport-Security (HSTS) header and parses its max-age and preload directives.

These signals are combined into a 0โ€“100 configuration score: 10 points are deducted for negotiating TLS 1.2 instead of 1.3, 25 points for a missing HSTS header entirely, 10 points for an HSTS max-age under the 1-year threshold required for preload list eligibility, and 20 points if the certificate expires within 30 days.

How to Use It

  1. Enter a domain or full URL โ€” the tool defaults to port 443 unless you specify one explicitly in the URL.
  2. Click Inspect SSL/TLS. A live handshake is performed with an 8-second timeout.
  3. Review the overall grade, then check the 4 summary cards: negotiated protocol, HSTS status, ALPN protocol, and days until certificate expiry.
  4. Open the cryptographic handshake details for the exact cipher name, issuing CA, and the certificate's valid-from and valid-until dates.
  5. Address any items listed under "Configuration Hardening Opportunities" โ€” each one maps directly to a specific score deduction.

TLS Versions, Ciphers & HSTS Explained

TLS 1.3 (finalized in RFC 8446) collapses the handshake from 2 round trips down to 1, and supports 0-RTT resumption for returning visitors, directly improving the connection-setup portion of Time to First Byte. It also removes support for legacy, cryptographically weak mechanisms โ€” static RSA key exchange, RC4, DES, and CBC-mode ciphers vulnerable to padding oracle attacks โ€” that TLS 1.2 still permits for backward compatibility.

HSTS closes a different gap: without it, even a site that always redirects HTTP to HTTPS still has a brief unencrypted window on the very first connection, which is exactly what SSL-stripping man-in-the-middle attacks exploit. Once a browser has received an HSTS header with a sufficient max-age, it will refuse to make plaintext HTTP requests to that host for the specified duration, rewriting them to HTTPS internally before any packet leaves the device. The preload directive additionally allows a domain to be baked directly into browser source code (Chrome, Firefox, Safari) so protection applies even on a visitor's very first-ever visit โ€” you can check your own redirect behavior with our HTTPS Redirect Checker.

ALPN (Application-Layer Protocol Negotiation) is negotiated inside the TLS handshake itself, letting client and server agree on HTTP/2 ("h2") instead of HTTP/1.1 without an extra round trip โ€” this is why the tool reports it as part of the handshake, not as a separate application-layer check.

Worked Example

A well-configured site might return:

  • Protocol: TLSv1.3 โ€” no deduction
  • HSTS: max-age=31536000; includeSubDomains; preload โ€” max-age is exactly 31,536,000 seconds (365 days), meeting the preload threshold โ€” no deduction
  • Certificate: 74 days remaining โ€” above the 30-day warning threshold โ€” no deduction
  • Resulting score: 100 / 100, Grade A+

Now consider a site with TLS 1.2 negotiated (โˆ’10), no HSTS header present at all (โˆ’25), and a certificate expiring in 18 days (โˆ’20). The score lands at 45/100, well below the "hardened" threshold, and the tool lists all 3 specific issues so they can be triaged in priority order โ€” the missing HSTS header carries the largest single point value because it represents the broadest exposure window.

Practical Use Cases

  • Pre-launch security checklist: Agencies confirm TLS 1.3 is enabled and HSTS is correctly configured before a client site goes live, rather than discovering gaps after a client-facing security scan flags them.
  • Certificate expiry monitoring: Site owners without automated renewal (e.g. manually installed certificates rather than Let's Encrypt auto-renewal) use this as a periodic manual check to avoid a surprise outage.
  • HSTS preload submission prep: Before submitting a domain to the HSTS preload list at hstspreload.org, teams confirm their max-age and includeSubDomains directives already meet the minimum requirements.
  • Vendor and hosting evaluation: Agencies comparing hosting providers or CDN configurations check whether TLS 1.3 is enabled by default versus requiring manual configuration.

Common Mistakes & Limitations

  • CDN termination masks the origin's real TLS config: If a site sits behind Cloudflare or another CDN, this tool reports the TLS negotiated with the edge server, not necessarily the origin server behind it โ€” origin TLS may be weaker.
  • HSTS without includeSubDomains leaves gaps: A root domain can have a strong HSTS policy while a subdomain (e.g. a staging or marketing subdomain) remains unprotected if includeSubDomains is omitted.
  • This tool doesn't test every cipher the server supports: It reports the cipher negotiated for this one connection attempt, not a full enumeration of every cipher suite the server is configured to accept, some of which may be weaker fallback options.
  • A high score is a snapshot, not a monitoring service: Certificates expire on a fixed schedule โ€” re-check periodically or pair with your certificate authority's renewal notifications rather than relying on a one-time manual test.

Frequently Asked Questions

What is the advantage of TLS 1.3 over TLS 1.2?

TLS 1.3 reduces the cryptographic handshake from 2 round trips (RTT) down to 1 RTT (and supports 0-RTT session resumption), significantly improving initial TTFB connection speed. It also completely deprecates vulnerable legacy ciphers (such as RC4, DES, 3DES, and static RSA).

What is HSTS (HTTP Strict Transport Security) and why is it essential?

HSTS instructs web browsers to automatically convert all insecure "http://" requests to secure "https://" before the request ever touches the network, eliminating SSL stripping man-in-the-middle (MITM) attacks.

What is ALPN (Application-Layer Protocol Negotiation)?

ALPN allows the browser and server to negotiate whether to speak HTTP/2 ("h2") or HTTP/1.1 during the initial TLS handshake, avoiding extra network round-trips.

Does this tool enforce SSRF security checks?

Yes. All live audits enforce strict SSRF safeguards, blocking requests to private RFC-1918 networks, loopback addresses (127.0.0.1), and cloud metadata endpoints.

What does the negotiated cipher suite name actually tell me?

The cipher name (e.g. TLS_AES_256_GCM_SHA384) describes the specific combination of algorithms used for key exchange, bulk encryption, and message authentication during that connection. Modern AEAD ciphers like AES-GCM or ChaCha20-Poly1305 provide both encryption and tamper detection in one pass; older CBC-mode ciphers are more vulnerable to padding oracle attacks and are being phased out.

My certificate shows 60+ days remaining but I still got a browser warning โ€” why?

Days-until-expiry is only one certificate validity check. A browser can also reject a certificate for hostname mismatch (the certificate does not cover the domain being visited), an untrusted or expired root/intermediate CA chain, or a revoked certificate (checked via OCSP). This tool reports expiry and issuer but does not perform full chain-of-trust or revocation validation.

Why did this tool report TLS 1.2 even though my server supports TLS 1.3?

The reported protocol is whatever the server actually negotiated during this specific handshake, not necessarily the highest version it is capable of. Server configuration (cipher suite ordering, load balancer termination settings) can cause a connection to downgrade to TLS 1.2 even when TLS 1.3 is available โ€” this is worth investigating in your web server or CDN edge settings.

Is a Grade A+ score here equivalent to a full penetration test of my TLS setup?

No. This checker validates protocol version, cipher selection, HSTS presence, and certificate expiry as a fast diagnostic snapshot โ€” it does not test for every known TLS vulnerability class (such as downgrade attacks, OCSP stapling issues, or specific implementation bugs). For a compliance-grade audit, pair this with a dedicated tool like Qualys SSL Labs or a professional security review.