<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Luke Thomas</title>
    <description>The latest articles on DEV Community by Luke Thomas (@lukethomas_tw).</description>
    <link>https://dev.to/lukethomas_tw</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3979747%2Fb5d76311-22b9-4a58-8c16-afc0a002a0ba.png</url>
      <title>DEV Community: Luke Thomas</title>
      <link>https://dev.to/lukethomas_tw</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lukethomas_tw"/>
    <language>en</language>
    <item>
      <title>Your TLS certificates will only last 47 days soon. Most teams have not done the math</title>
      <dc:creator>Luke Thomas</dc:creator>
      <pubDate>Fri, 12 Jun 2026 10:51:36 +0000</pubDate>
      <link>https://dev.to/lukethomas_tw/your-tls-certificates-will-only-last-47-days-soon-most-teams-have-not-done-the-math-20ko</link>
      <guid>https://dev.to/lukethomas_tw/your-tls-certificates-will-only-last-47-days-soon-most-teams-have-not-done-the-math-20ko</guid>
      <description>&lt;p&gt;In April 2025 the CA/Browser Forum voted 25 to 0 to shrink the maximum lifetime of public TLS certificates. Not by a little. The ballot is called SC-081v3 and this is the schedule it locked in:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Effective&lt;/th&gt;
&lt;th&gt;Max validity&lt;/th&gt;
&lt;th&gt;Roughly&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Today&lt;/td&gt;
&lt;td&gt;398 days&lt;/td&gt;
&lt;td&gt;13 months&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;March 2026&lt;/td&gt;
&lt;td&gt;200 days&lt;/td&gt;
&lt;td&gt;6.5 months&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;March 2027&lt;/td&gt;
&lt;td&gt;100 days&lt;/td&gt;
&lt;td&gt;3.3 months&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;March 2029&lt;/td&gt;
&lt;td&gt;47 days&lt;/td&gt;
&lt;td&gt;1.5 months&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;I run a small network monitoring product and I keep having the same conversation about this. Someone tells me "we renew certs once a year, we are fine." Then I show them the renewal math and the room goes quiet.&lt;/p&gt;

&lt;h2&gt;
  
  
  The math nobody is doing
&lt;/h2&gt;

&lt;p&gt;Picture a mid-size company with 600 public TLS certs. Websites, APIs, load balancers, CDN configs, VPN portals, the usual sprawl. Today that means roughly 600 renewals a year. Annoying, but a spreadsheet and a calendar reminder can survive it.&lt;/p&gt;

&lt;p&gt;Walk the same estate forward:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;2026, at 200 days: about 1,200 renewals a year&lt;/li&gt;
&lt;li&gt;2027, at 100 days: about 2,400 renewals a year&lt;/li&gt;
&lt;li&gt;2029, at 47 days: about 4,660 renewals a year&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last number is 120 renewals every working day. There is no spreadsheet workflow on earth that survives 2029. Manual cert management is not getting harder. It is ending.&lt;/p&gt;

&lt;p&gt;There is a second cost hiding under the headline too. Organisation validation for OV and EV certs can currently be reused for up to 825 days. From March 2026 that drops to 398 days. So even if you buy a multi-year "subscription," you will be redoing the paperwork roughly every year on top of the extra renewals.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why they are doing this
&lt;/h2&gt;

&lt;p&gt;The short version: revocation never worked. CRLs got too big, OCSP leaks browsing history and mostly soft-fails, and everyone in the room knows it. If a private key leaks today, the worst case exposure is over a year. With 47-day certs the certificate dies on its own within weeks, whether or not revocation does its job.&lt;/p&gt;

&lt;p&gt;Short lifetimes also force regular key rotation, which makes future algorithm migrations (hello, post-quantum) far less painful. And they push the whole ecosystem toward what Let's Encrypt already proved works: boring, automated issuance.&lt;/p&gt;

&lt;p&gt;You can agree or disagree with the trade-offs. The vote was unanimous, so it is happening either way.&lt;/p&gt;

&lt;h2&gt;
  
  
  What it means for your setup
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Already on ACME (Let's Encrypt, ZeroSSL, etc.):&lt;/strong&gt; you are mostly fine on the issuance side. Your real risk is silent renewal failure. A DNS change, a rate limit, a webroot misconfig, and nothing tells you until the deployed cert expires. Monitor the certificate that is actually serving traffic, not the cron job that is supposed to renew it. Those are two different things and the gap between them is where outages live.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Manual paid certs (DigiCert, Sectigo, GlobalSign and friends):&lt;/strong&gt; the calendar-reminder workflow stops being sustainable in 2027 and stops being possible in 2029. Most of these CAs now offer ACME endpoints. Ask your account manager, move to automation this year, and keep the CA relationship if you like it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Appliances that cannot speak ACME:&lt;/strong&gt; the long tail of pain. Old load balancers, VPN concentrators, vendor firewalls where renewal means a portal upload and a service restart. Your realistic options are a firmware upgrade that adds ACME, or a reverse proxy in front that owns the cert and re-encrypts upstream. Start the inventory now because procurement cycles are slower than CA/B Forum ballots.&lt;/p&gt;

&lt;h2&gt;
  
  
  The plan I would follow
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;2026: inventory and monitor.&lt;/strong&gt; Find every public cert you own, including the ones nobody remembers (status pages, legacy mail hosts, partner integrations). Put expiry monitoring on all of them, not just the critical ones. Daily checks are plenty. The goal is to never be surprised.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2027: automate everything renewable.&lt;/strong&gt; By year end, your manual list should be down to appliances you physically cannot upgrade, each with a remediation plan.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;2028: dry-run the 47-day cadence.&lt;/strong&gt; Set internal certs to 47 days a year early and watch what breaks while breaking is still cheap.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;And one cultural change: route cert expiry alerts into the same on-call rotation that gets paged for outages. An expired cert is a production outage. It just happens to be one you can schedule.&lt;/p&gt;

&lt;h2&gt;
  
  
  Disclosure
&lt;/h2&gt;

&lt;p&gt;I build &lt;a href="https://www.tracewarrior.com" rel="noopener noreferrer"&gt;Trace Warrior&lt;/a&gt;, a small network tools site with an SSL expiry monitor, so yes, I have skin in this game. The &lt;a href="https://www.tracewarrior.com/tools/ssl-certificate-checker" rel="noopener noreferrer"&gt;certificate checker&lt;/a&gt; is free with no signup if you want to spot-check a host right now. But honestly, use anything. Use a bash script and cron if that is your style. Just do the inventory before March 2026 makes it urgent.&lt;/p&gt;

&lt;p&gt;Curious what others are doing: how are you handling renewals on hardware that will never speak ACME? Reverse proxy shims, firmware nagging, or planned replacement?&lt;/p&gt;

</description>
      <category>security</category>
      <category>devops</category>
      <category>webdev</category>
      <category>tls</category>
    </item>
  </channel>
</rss>
