Discovery

Audit TLS certificates on port 443

Enumerate a domain and classify expired, mismatched, self-signed, and untrusted certificates on port 443. The check reads the handshake only.

AuthorTrickest
100%

Notes on this workflow

Target

Put a domain on subfinder. The audit checks at most 200 hosts on port 443.

Results

findings.jsonl. One row per weak host, plus a summary. Healthy certificates are counted in the summary.

How it works

subfinder lists hosts. handshake opens port 443 and records each completed certificate. expiry, hostname, and trust classify expiry, name mismatch, self-signed certs, untrusted chains, and legacy protocols.

Overview

A certificate error in a browser is a finding only if you can say which host failed and why. This workflow enumerates hosts and opens port 443. It classifies expiry, hostname mismatch, self-signed certificates, and untrusted chains from the verify error. It does not send an HTTP request and it does not accept the bad certificate in order to keep going. Point it at a domain you are authorised to test. Weak TLS belongs next to mail transport checks in exposure management, because both fail quietly after a deploy.

Pipeline

  1. subfinder enumerates hosts for the domain you set.
  2. handshake opens port 443 and records each completed certificate, on at most 200 hosts. A host that never completes a handshake is not a finding.
  3. expiry, hostname, and trust classify expiry, name mismatch, self-signed certificates, untrusted chains, and legacy protocols.
  4. report writes findings.jsonl, one row per weak host, plus a summary.

Inputs

  • Domain. Set on the subfinder node. Hosts come from that enumeration.

Outputs

  • findings.jsonl. One JSON line per host with a certificate or chain problem, plus a summary.

Integrations

  • Subfinder. Host enumeration for the domain.

Sample output

The row below is from a completed run on badssl.com on 2026-09-24. The run classified 200 hosts as weak. This is one of them.

hoststateprotocolissuesseverityscanned_at
sha1-2016.badssl.comweakTLSv1.2certificate-expired, untrusted-chainhigh2026-09-24T10:15:16Z

FAQ

Does this crawl the website?

No. It opens port 443 and reads the handshake. It does not send application data.

Which problems are flagged?

Expired certificates, hostname mismatch, self-signed certificates, and untrusted chains.

How many hosts are checked?

At most 200 hosts from the subfinder output.

Where should I run it?

On a domain you are authorised to test.

Get a personalized demo

See Trickest in Action

A 30-minute walkthrough. We map the platform to your stack and answer pricing and deployment questions for your environment.