Finds the 12 settings that break when public TLS certificates fall to 100 days on 2027-03-15: openssl -days, Terraform, cert-manager, late expiry alerts, HPKP, TLS 1.0/1.1, SHA-1, RSA-1024.
Free for the file open in your editor - no key, no limit. The workspace sweep and the report ask for a key.
VS Code MarketplaceOpen VSX (Cursor, VSCodium)npmMCP server (npx)Docker Hubext install ReadyStack.tls-cert-lifetime-lint npx @readystack/tls-cert-lifetime-lint <file> npx @readystack/tls-cert-lifetime-lint --mcp
Team? One key for every ReadyStack linter, 5 seats, $149 once
This page is the working piece. The full pack has everything below.
Finds the 12 settings that break when public TLS certificates fall to 100 days on 2027-03-15: openssl -days, Terraform, cert-manager, late expiry alerts, HPKP, TLS 1.0/1.1, SHA-1, RSA-1024.
A certificate lifecycle management platform starts at $50,000-$100,000 a year plus $1-$5 per certificate (Keyfactor Command, 2026 vendor pricing).
Buy the full version โ $29ยท ReadyStack
Real numbers from this tool, line by line.

Six lines in this pipeline break TLS renewal, and they belong to the platform engineers running Terraform and cert-manager in production today.
This is what the extension prints for it, before a word of explanation:
pipeline.txt
2: An RSA key under 2048 bits is being generated.
3: openssl -days is over 200.
6: Terraform validity_period_hours is over 4800 hours (200 days), the public TLS maximum in force since 2026-03-15.
9: cert-manager duration is over 4800h (200 days).
12: This expiry alert only fires with 21 days or less left.
15: HTTP Public Key Pinning is being sent.
-- 6 --
Those six line numbers point at an ordinary renewal setup:
1 # renew.sh
2 openssl req -new -newkey rsa:1024 -nodes -keyout edge.key -out edge.csr
3 openssl x509 -req -days 365 -in edge.csr -signkey edge.key -out edge.crt
5 # edge.tf
6 validity_period_hours = 8760
8 # certificate.yaml
9 duration: 8760h
11 # alerts.yaml
12 expr: cert_expiry_days < 14
14 # nginx.conf
15 add_header Public-Key-Pins 'pin-sha256="..."; max-age=5184000';
Nothing there looks wrong. It was all correct in 2024.
CA/Browser Forum ballot SC-081v3 passed in April 2025 and put the maximum lifetime of a publicly trusted TLS certificate on a fixed schedule. 200 days from 2026-03-15. 100 days from 2027-03-15. 47 days from 2029-03-15. Domain control validation reuse shrinks alongside it, down to 10 days by 2029.
The first step is behind us. The second, 2027-03-15, turns a six-monthly habit into an outage, because 100 days no longer fits inside any renewal cadence a human remembers to perform.
Lines 3, 6 and 9 all ask for a year, and a public CA will not issue a year. You get a refusal, or you get a shorter certificate than the manifest claims you have, which is worse: renewBefore is then computed against a lifetime that does not exist. Line 2 fails earlier still, at issuance rather than at deployment, because NIST SP 800-131A disallows RSA under 2048 bits.
Line 12 is the quiet one. Fourteen days of warning is generous against a 398-day certificate. Against a 100-day certificate, one third of the lifetime is 33 days, so that alert fires after the renewal window has already closed. Line 15 bites only at renewal: a pin set outlives a certificate re-keyed every 47 to 100 days, so the header locks visitors out of the site it was meant to protect.
TLS Cert Lifetime Lint carries the SC-081v3 schedule as 12 fixed rules rather than as recall. Alongside the six above it catches SHA-1 signing, which public CAs stopped doing in 2016, TLS 1.0 and 1.1, and the runbook line that still states the retired 398-day maximum. It reads openssl commands, Terraform, cert-manager YAML, nginx and Apache directives, Go tls.Config and Prometheus alert rules, and reports the line, the dated cap it breaks, and the value to use instead. What is already broken is separated from what breaks at the next milestone, so a backlog can be ordered rather than panicked over.
Checking a file you have open is free, and complete: every finding, every line number, nothing blurred and no trial counter. A licence adds the next job - the whole repository at once, the findings exported as CSV, JSON or HTML, and CI JSON so a pull request fails before an over-length certificate reaches production. An online SSL scanner tests a certificate that is already serving traffic, so it finds this after deployment; this reads the configuration before anything is issued.
It reads certificate configuration as text and flags settings that the CA/Browser Forum SC-081v3 schedule has already broken or will break on a named date. It checks openssl -days values, Terraform validity_period_hours, cert-manager duration, expiry alert thresholds, HPKP headers, TLS 1.0/1.1, SHA-1 signing and RSA keys under 2048 bits, and reports the line number, the cap that applies and the value to use instead.
Platform, SRE and DevOps engineers who issue publicly trusted TLS certificates from infrastructure as code - Terraform, cert-manager, Ansible, shell scripts around openssl - and who own the renewal that pages someone at 3am. It is aimed at teams that still have annual or six-monthly renewal habits written into repositories and runbooks.
An online SSL scanner tests a certificate that is already serving traffic, so it finds the problem after deployment. A chatbot answers from training data and still repeats the retired 398-day maximum. This reads the configuration in the repository before anything is issued, and carries the dated schedule - 200 days from 2026-03-15, 100 from 2027-03-15, 47 from 2029-03-15 - as fixed rules rather than recall.
Free covers one file completely: open a config, run the check, and you see every one of the 12 findings with its line number, severity and replacement value. Nothing is blurred or limited by a trial counter. A licence adds the next job - scanning the whole repository, exporting the findings as CSV, JSON or HTML, and writing CI JSON so a pipeline fails before a bad certificate ships.
A certificate lifecycle management platform is the usual answer to this problem and it starts around $50,000 to $100,000 a year plus $1 to $5 per certificate at 2026 vendor pricing. This is $29 once,. It does not manage certificates - it stops the configuration mistakes that make a renewal fail in the first place.
A general AI chat answers from training data with a cutoff date, cannot read your repository and names no rule version. TLS Cert Lifetime Lint checks the file you open against 12 rules from a rule set dated 2026-09-20, and points at the exact line with the fix. For a filing, an audit or a client you need that dated result on your own files.
One question, answered by the person who built it. Your email only if you want the answer sent.