<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="/static/rss.xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US">
  <id>78</id>
  <title>Let's Encrypt</title>
  <updated>2026-06-02T16:00:00+00:00</updated>
  <author>
    <name>Unknown</name>
  </author>
  <link href="https://letsencrypt.org/" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Let's Encrypt is a free, automated, and open Certificate Authority brought to you by the nonprofit &lt;a href="https://www.abetterinternet.org/"&gt;Internet Security Research Group (ISRG)&lt;/a&gt;. Read all about our nonprofit work this year in our &lt;a href="https://www.abetterinternet.org/annual-reports/"&gt;2025 Annual Report&lt;/a&gt;.</subtitle>
  <entry>
    <id>https://letsencrypt.org/2026/06/03/pq-certs.html</id>
    <title>A Post-Quantum Future for Let's Encrypt</title>
    <updated>2026-06-02T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;p&gt;Let&amp;rsquo;s Encrypt is committed to a post-quantum-safe Web PKI. The path we&amp;rsquo;re planning to take is Merkle Tree Certificates (&amp;ldquo;MTCs&amp;rdquo;), a new approach that adds post-quantum authentication to the web without sacrificing the speed and reliability that have made TLS universal.&lt;/p&gt;
&lt;p&gt;This post is about these plans and why we believe MTCs are worth pursuing as a key to a post-quantum future.&lt;/p&gt;
&lt;h2 id="an-increasingly-urgent-problem"&gt;An increasingly urgent problem&lt;/h2&gt;
&lt;p&gt;For much of the last several years, the conversation about post-quantum cryptography has been a conversation about encryption. The reasoning was straightforward: an attacker who records encrypted traffic today might be able to decrypt it years from now once quantum computers can break the underlying math. Authentication, the part of TLS that indicates a server is who it says it is, has been a less urgent problem. A quantum computer needs to forge a signature in real time, not retroactively, so threats to authentication hinge on the existence of a cryptographically relevant quantum computer (CRQC).&lt;/p&gt;
&lt;p&gt;That comfort has been eroding for a while. In the United States, the NSA&amp;rsquo;s &lt;a href="https://www.nsa.gov/Cybersecurity/Post-Quantum-Cybersecurity-Resources/"&gt;CNSA 2.0 suite&lt;/a&gt; has directed national security systems toward post-quantum algorithms on a 2030-to-2035 schedule since 2022, and &lt;a href="https://nvlpubs.nist.gov/nistpubs/ir/2024/NIST.IR.8547.ipd.pdf"&gt;NIST&amp;rsquo;s draft transition guidance&lt;/a&gt; would deprecate RSA-2048 and P-256 after 2030 and disallow them after 2035. The &lt;a href="https://digital-strategy.ec.europa.eu/en/library/coordinated-implementation-roadmap-transition-post-quantum-cryptography"&gt;European Union&amp;rsquo;s roadmap&lt;/a&gt; targets high-risk systems by the end of 2030 and broad migration by 2035. These mandates don&amp;rsquo;t bind the public Web PKI directly, but they set the end-of-decade timeline that the vendors, libraries, and standards bodies it relies on are already working toward.&lt;/p&gt;
&lt;p&gt;This year, the timeline shortened further. Google &lt;a href="https://blog.google/innovation-and-ai/technology/safety-security/cryptography-migration-timeline/"&gt;announced&lt;/a&gt; that it would migrate its services by 2029, citing tightening estimates for the potential arrival of a CRQC. &lt;a href="https://blog.cloudflare.com/post-quantum-roadmap/"&gt;Cloudflare followed&lt;/a&gt; with a parallel commitment. In addition, &lt;a href="https://go.dev/doc/go1.27"&gt;Go 1.27&lt;/a&gt; adds ML-DSA, a NIST-standardized post-quantum signature scheme, to the standard library, a sign that post-quantum signatures are becoming practical infrastructure.&lt;/p&gt;
&lt;p&gt;Post-quantum authentication is no longer a problem the Web PKI ecosystem should defer. Long-lived keys (root certificate authorities, code-signing keys, identity systems) are particularly valuable targets, and new technology takes years to gain broad adoption, so the work has to start early.&lt;/p&gt;
&lt;h2 id="the-web-pki-s-unique-circumstances"&gt;The Web PKI&amp;rsquo;s unique circumstances&lt;/h2&gt;
&lt;p&gt;The Web PKI is one of the trickiest places to deploy post-quantum signatures. The reason is size.&lt;/p&gt;
&lt;p&gt;ML-DSA-44, one of the smaller NIST standardized post-quantum signature schemes, has a signature roughly 2,420 bytes long. The algorithms used in the Web PKI today are much smaller. RSA-2048 signatures are 256 bytes and ECDSA-P256 signatures are 64 bytes. Public keys are bigger as well: 1,312 bytes for ML-DSA-44, 256 bytes for RSA-2048, and 64 bytes for ECDSA-P256. A typical Web PKI handshake today carries five signatures and two public keys. Replacing those with ML-DSA equivalents would push a single TLS handshake well past 10 kilobytes. &lt;a href="https://blog.cloudflare.com/another-look-at-pq-signatures/"&gt;Cloudflare&amp;rsquo;s research&lt;/a&gt; has shown that, at that scale, a meaningful share of TLS connections fail on real-world networks, and the rest get slower.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Authentication data in a single TLS handshake, by algorithm" class="blog-image-constrained" height="315" src="https://letsencrypt.org/images/blog/2026.06.03-pq-certs-handshake-size.svg" width="720" /&gt;
&lt;/figure&gt;
&lt;p&gt;Larger handshakes would affect every TLS connection, not just those that would fail. They would mean constrained bandwidth, slower connections, and a worse experience for users, all in exchange for security against a threat that hasn&amp;rsquo;t materialized yet. That&amp;rsquo;s a steep cost to enable by default, and defaults are what actually move security at web scale.&lt;/p&gt;
&lt;h2 id="merkle-tree-certificates"&gt;Merkle Tree Certificates&lt;/h2&gt;
&lt;p&gt;A different design called Merkle Tree Certificates (&amp;ldquo;MTCs&amp;rdquo;) has been emerging over the past year, and we believe it is a strong path forward for the post-quantum Web PKI.&lt;/p&gt;
&lt;p&gt;Instead of issuing certificates one at a time and signing each one individually, an MTC certificate authority issues certificates in batches, with a single signature covering the entire batch. Browsers stay up to date on those batch signatures (called &amp;ldquo;landmarks&amp;rdquo;) separately from the TLS handshake.&lt;/p&gt;
&lt;p&gt;In the common case, the entire authentication path in an MTC handshake is one signature, one public key, and one inclusion proof. That&amp;rsquo;s smaller than today&amp;rsquo;s Web PKI handshake, even though MTCs use post-quantum algorithms. The other case is the &amp;ldquo;standalone&amp;rdquo; form. It uses slightly larger handshakes as a fallback when a client&amp;rsquo;s landmark is out of date.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Post-quantum authentication overhead: conventional versus Merkle Tree Certificate" class="blog-image-constrained" height="270" src="https://letsencrypt.org/images/blog/2026.06.03-pq-certs-mtc-authentication-overhead.svg" width="720" /&gt;
&lt;/figure&gt;
&lt;p&gt;There is more to MTCs than size optimization. Because every certificate is part of a published Merkle tree, transparency becomes a property of issuance itself. Today&amp;rsquo;s Certificate Transparency ecosystem is bolted on after the fact: certificates are issued by CAs, then logged separately, with extra signatures riding along in the TLS handshake to attest to that logging. With MTCs, a certificate cannot exist outside the Merkle tree. Certificate Transparency is built in.&lt;/p&gt;
&lt;p&gt;This is not entirely new ground for us. Let&amp;rsquo;s Encrypt has operated &lt;a href="https://letsencrypt.org/docs/ct-logs/"&gt;Certificate Transparency logs&lt;/a&gt; since 2019. Those logs are append-only Merkle trees, the same core data structure MTCs are built on, and ones we have run in production, at scale, for years.&lt;/p&gt;
&lt;p&gt;Cloudflare and Chrome are already running a &lt;a href="https://blog.cloudflare.com/bootstrap-mtc/"&gt;feasibility experiment&lt;/a&gt; with MTCs against real internet traffic. The IETF&amp;rsquo;s &lt;a href="https://datatracker.ietf.org/wg/plants/about/"&gt;PLANTS working group&lt;/a&gt; is working on standardizing the design. Chrome has &lt;a href="https://security.googleblog.com/2026/02/cultivating-robust-and-efficient.html"&gt;announced&lt;/a&gt; that MTCs are its preferred path for adding post-quantum certificates to the public web.&lt;/p&gt;
&lt;h2 id="our-plans"&gt;Our plans&lt;/h2&gt;
&lt;p&gt;We are planning to support Merkle Tree Certificates as the path forward for the post-quantum Web PKI. We are targeting late 2026 for a staging environment that issues MTCs, and 2027 for a production-ready environment.&lt;/p&gt;
&lt;p&gt;This is not a small endeavor. Issuing MTCs at the scale of Let&amp;rsquo;s Encrypt requires meaningful changes throughout our stack: in our issuance infrastructure, in the ACME protocol our subscribers use to obtain certificates, in revocation and operational tooling, and in the transparency-log infrastructure that MTCs subsume. We have been participating in the IETF PLANTS and ACME working groups as the standards take shape.&lt;/p&gt;
&lt;p&gt;Alongside the MTC work, we are tracking the standards for ML-DSA signatures in X.509 (&lt;a href="https://www.rfc-editor.org/rfc/rfc9881"&gt;RFC 9881&lt;/a&gt;) and TLS (&lt;a href="https://datatracker.ietf.org/doc/draft-ietf-tls-mldsa/"&gt;draft-ietf-tls-mldsa&lt;/a&gt;), and the ecosystem work this depends on, like the addition of ML-DSA to the Go standard library. The Web PKI&amp;rsquo;s transition to post-quantum security needs all of this to land in browsers, libraries, and ACME clients, whether the certificates ultimately delivered are MTCs or ML-DSA signed X.509.&lt;/p&gt;
&lt;h2 id="what-this-means-if-you-use-let-s-encrypt"&gt;What this means if you use Let&amp;rsquo;s Encrypt&lt;/h2&gt;
&lt;p&gt;Nothing changes today. Your current Let&amp;rsquo;s Encrypt certificates will continue to be issued and renewed exactly as they always have been. When post-quantum certificates become available from Let&amp;rsquo;s Encrypt, they will arrive the way our service always has: free, automated, and available to anyone with an ACME client.&lt;/p&gt;
&lt;p&gt;The transition will take time. There are standards still being finalized, root programs still defining their requirements, and engineering work that has to land in the broader ecosystem (browsers, libraries, ACME clients) before any of this matters at scale. We will keep the community informed as the work progresses and as the timelines firm up.&lt;/p&gt;
&lt;p&gt;If you maintain an ACME client or run an ACME-driven certificate pipeline, this is a good moment to start tracking the work in the PLANTS working group and the discussions on the &lt;a href="https://groups.google.com/a/chromium.org/g/mtcs"&gt;mtcs@chromium.org&lt;/a&gt; mailing list. Some of the changes coming will require client-side support, and the ecosystem will benefit from clients that are ready when the issuance side is.&lt;/p&gt;
&lt;h2 id="a-note-on-the-wider-post-quantum-transition"&gt;A note on the wider post-quantum transition&lt;/h2&gt;
&lt;p&gt;For the broader internet community: post-quantum encryption is the more urgent problem, because any TLS connection without post-quantum key exchange is potentially harvestable for later decryption. If you operate servers, please ensure they support hybrid post-quantum key exchange (X25519MLKEM768). Major browsers and operating systems already do, and turning it on at the server is one of the highest-leverage things you can do this year.&lt;/p&gt;
&lt;h2 id="in-closing"&gt;In closing&lt;/h2&gt;
&lt;p&gt;We have been building infrastructure for the public web &lt;a href="https://www.abetterinternet.org/about/"&gt;since 2013&lt;/a&gt; on the principle that security should be available to everyone, automatically, at no cost. The quantum transition is a generational change in how that security works under the hood.&lt;/p&gt;
&lt;p&gt;We will have more to say as the work progresses. Until then, our thanks to the cryptographers, browser engineers, IETF working groups, and CAs whose work has gotten us this far.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2026/06/03/pq-certs.html"/>
    <summary type="html">&lt;p&gt;Let&amp;rsquo;s Encrypt is committed to a post-quantum-safe Web PKI. The path we&amp;rsquo;re planning to take is Merkle Tree Certificates (&amp;ldquo;MTCs&amp;rdquo;), a new approach that adds post-quantum authentication to the web without sacrificing the speed and reliability that have made TLS universal.&lt;/p&gt;
&lt;p&gt;This post is about these plans and why we believe MTCs are worth pursuing as a key to a post-quantum future.&lt;/p&gt;
&lt;h2 id="an-increasingly-urgent-problem"&gt;An increasingly urgent problem&lt;/h2&gt;
&lt;p&gt;For much of the last several years, the conversation about post-quantum cryptography has been a conversation about encryption. The reasoning was straightforward: an attacker who records encrypted traffic today might be able to decrypt it years from now once quantum computers can break the underlying math. Authentication, the part of TLS that indicates a server is who it says it is, has been a less urgent problem. A quantum computer needs to forge a signature in real time, not retroactively, so threats to authentication hinge on the existence of a cryptographically relevant quantum computer (CRQC).&lt;/p&gt;
&lt;p&gt;That comfort has been eroding for a while. In the United States, the NSA&amp;rsquo;s &lt;a href="https://www.nsa.gov/Cybersecurity/Post-Quantum-Cybersecurity-Resources/"&gt;CNSA 2.0 suite&lt;/a&gt; has directed national security systems toward post-quantum algorithms on a 2030-to-2035 schedule since 2022, and &lt;a href="https://nvlpubs.nist.gov/nistpubs/ir/2024/NIST.IR.8547.ipd.pdf"&gt;NIST&amp;rsquo;s draft transition guidance&lt;/a&gt; would deprecate RSA-2048 and P-256 after 2030 and disallow them after 2035. The &lt;a href="https://digital-strategy.ec.europa.eu/en/library/coordinated-implementation-roadmap-transition-post-quantum-cryptography"&gt;European Union&amp;rsquo;s roadmap&lt;/a&gt; targets high-risk systems by the end of 2030 and broad migration by 2035. These mandates don&amp;rsquo;t bind the public Web PKI directly, but they set the end-of-decade timeline that the vendors, libraries, and standards bodies it relies on are already working toward.&lt;/p&gt;
&lt;p&gt;This year, the timeline shortened further. Google &lt;a href="https://blog.google/innovation-and-ai/technology/safety-security/cryptography-migration-timeline/"&gt;announced&lt;/a&gt; that it would migrate its services by 2029, citing tightening estimates for the potential arrival of a CRQC. &lt;a href="https://blog.cloudflare.com/post-quantum-roadmap/"&gt;Cloudflare followed&lt;/a&gt; with a parallel commitment. In addition, &lt;a href="https://go.dev/doc/go1.27"&gt;Go 1.27&lt;/a&gt; adds ML-DSA, a NIST-standardized post-quantum signature scheme, to the standard library, a sign that post-quantum signatures are becoming practical infrastructure.&lt;/p&gt;
&lt;p&gt;Post-quantum authentication is no longer a problem the Web PKI ecosystem should defer. Long-lived keys (root certificate authorities, code-signing keys, identity systems) are particularly valuable targets, and new technology takes years to gain broad adoption, so the work has to start early.&lt;/p&gt;
&lt;h2 id="the-web-pki-s-unique-circumstances"&gt;The Web PKI&amp;rsquo;s unique circumstances&lt;/h2&gt;
&lt;p&gt;The Web PKI is one of the trickiest places to deploy post-quantum signatures. The reason is size.&lt;/p&gt;
&lt;p&gt;ML-DSA-44, one of the smaller NIST standardized post-quantum signature schemes, has a signature roughly 2,420 bytes long. The algorithms used in the Web PKI today are much smaller. RSA-2048 signatures are 256 bytes and ECDSA-P256 signatures are 64 bytes. Public keys are bigger as well: 1,312 bytes for ML-DSA-44, 256 bytes for RSA-2048, and 64 bytes for ECDSA-P256. A typical Web PKI handshake today carries five signatures and two public keys. Replacing those with ML-DSA equivalents would push a single TLS handshake well past 10 kilobytes. &lt;a href="https://blog.cloudflare.com/another-look-at-pq-signatures/"&gt;Cloudflare&amp;rsquo;s research&lt;/a&gt; has shown that, at that scale, a meaningful share of TLS connections fail on real-world networks, and the rest get slower.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Authentication data in a single TLS handshake, by algorithm" class="blog-image-constrained" height="315" src="https://letsencrypt.org/images/blog/2026.06.03-pq-certs-handshake-size.svg" width="720" /&gt;
&lt;/figure&gt;
&lt;p&gt;Larger handshakes would affect every TLS connection, not just those that would fail. They would mean constrained bandwidth, slower connections, and a worse experience for users, all in exchange for security against a threat that hasn&amp;rsquo;t materialized yet. That&amp;rsquo;s a steep cost to enable by default, and defaults are what actually move security at web scale.&lt;/p&gt;
&lt;h2 id="merkle-tree-certificates"&gt;Merkle Tree Certificates&lt;/h2&gt;
&lt;p&gt;A different design called Merkle Tree Certificates (&amp;ldquo;MTCs&amp;rdquo;) has been emerging over the past year, and we believe it is a strong path forward for the post-quantum Web PKI.&lt;/p&gt;
&lt;p&gt;Instead of issuing certificates one at a time and signing each one individually, an MTC certificate authority issues certificates in batches, with a single signature covering the entire batch. Browsers stay up to date on those batch signatures (called &amp;ldquo;landmarks&amp;rdquo;) separately from the TLS handshake.&lt;/p&gt;
&lt;p&gt;In the common case, the entire authentication path in an MTC handshake is one signature, one public key, and one inclusion proof. That&amp;rsquo;s smaller than today&amp;rsquo;s Web PKI handshake, even though MTCs use post-quantum algorithms. The other case is the &amp;ldquo;standalone&amp;rdquo; form. It uses slightly larger handshakes as a fallback when a client&amp;rsquo;s landmark is out of date.&lt;/p&gt;
&lt;figure&gt;
&lt;img alt="Post-quantum authentication overhead: conventional versus Merkle Tree Certificate" class="blog-image-constrained" height="270" src="https://letsencrypt.org/images/blog/2026.06.03-pq-certs-mtc-authentication-overhead.svg" width="720" /&gt;
&lt;/figure&gt;
&lt;p&gt;There is more to MTCs than size optimization. Because every certificate is part of a published Merkle tree, transparency becomes a property of issuance itself. Today&amp;rsquo;s Certificate Transparency ecosystem is bolted on after the fact: certificates are issued by CAs, then logged separately, with extra signatures riding along in the TLS handshake to attest to that logging. With MTCs, a certificate cannot exist outside the Merkle tree. Certificate Transparency is built in.&lt;/p&gt;
&lt;p&gt;This is not entirely new ground for us. Let&amp;rsquo;s Encrypt has operated &lt;a href="https://letsencrypt.org/docs/ct-logs/"&gt;Certificate Transparency logs&lt;/a&gt; since 2019. Those logs are append-only Merkle trees, the same core data structure MTCs are built on, and ones we have run in production, at scale, for years.&lt;/p&gt;
&lt;p&gt;Cloudflare and Chrome are already running a &lt;a href="https://blog.cloudflare.com/bootstrap-mtc/"&gt;feasibility experiment&lt;/a&gt; with MTCs against real internet traffic. The IETF&amp;rsquo;s &lt;a href="https://datatracker.ietf.org/wg/plants/about/"&gt;PLANTS working group&lt;/a&gt; is working on standardizing the design. Chrome has &lt;a href="https://security.googleblog.com/2026/02/cultivating-robust-and-efficient.html"&gt;announced&lt;/a&gt; that MTCs are its preferred path for adding post-quantum certificates to the public web.&lt;/p&gt;
&lt;h2 id="our-plans"&gt;Our plans&lt;/h2&gt;
&lt;p&gt;We are planning to support Merkle Tree Certificates as the path forward for the post-quantum Web PKI. We are targeting late 2026 for a staging environment that issues MTCs, and 2027 for a production-ready environment.&lt;/p&gt;
&lt;p&gt;This is not a small endeavor. Issuing MTCs at the scale of Let&amp;rsquo;s Encrypt requires meaningful changes throughout our stack: in our issuance infrastructure, in the ACME protocol our subscribers use to obtain certificates, in revocation and operational tooling, and in the transparency-log infrastructure that MTCs subsume. We have been participating in the IETF PLANTS and ACME working groups as the standards take shape.&lt;/p&gt;
&lt;p&gt;Alongside the MTC work, we are tracking the standards for ML-DSA signatures in X.509 (&lt;a href="https://www.rfc-editor.org/rfc/rfc9881"&gt;RFC 9881&lt;/a&gt;) and TLS (&lt;a href="https://datatracker.ietf.org/doc/draft-ietf-tls-mldsa/"&gt;draft-ietf-tls-mldsa&lt;/a&gt;), and the ecosystem work this depends on, like the addition of ML-DSA to the Go standard library. The Web PKI&amp;rsquo;s transition to post-quantum security needs all of this to land in browsers, libraries, and ACME clients, whether the certificates ultimately delivered are MTCs or ML-DSA signed X.509.&lt;/p&gt;
&lt;h2 id="what-this-means-if-you-use-let-s-encrypt"&gt;What this means if you use Let&amp;rsquo;s Encrypt&lt;/h2&gt;
&lt;p&gt;Nothing changes today. Your current Let&amp;rsquo;s Encrypt certificates will continue to be issued and renewed exactly as they always have been. When post-quantum certificates become available from Let&amp;rsquo;s Encrypt, they will arrive the way our service always has: free, automated, and available to anyone with an ACME client.&lt;/p&gt;
&lt;p&gt;The transition will take time. There are standards still being finalized, root programs still defining their requirements, and engineering work that has to land in the broader ecosystem (browsers, libraries, ACME clients) before any of this matters at scale. We will keep the community informed as the work progresses and as the timelines firm up.&lt;/p&gt;
&lt;p&gt;If you maintain an ACME client or run an ACME-driven certificate pipeline, this is a good moment to start tracking the work in the PLANTS working group and the discussions on the &lt;a href="https://groups.google.com/a/chromium.org/g/mtcs"&gt;mtcs@chromium.org&lt;/a&gt; mailing list. Some of the changes coming will require client-side support, and the ecosystem will benefit from clients that are ready when the issuance side is.&lt;/p&gt;
&lt;h2 id="a-note-on-the-wider-post-quantum-transition"&gt;A note on the wider post-quantum transition&lt;/h2&gt;
&lt;p&gt;For the broader internet community: post-quantum encryption is the more urgent problem, because any TLS connection without post-quantum key exchange is potentially harvestable for later decryption. If you operate servers, please ensure they support hybrid post-quantum key exchange (X25519MLKEM768). Major browsers and operating systems already do, and turning it on at the server is one of the highest-leverage things you can do this year.&lt;/p&gt;
&lt;h2 id="in-closing"&gt;In closing&lt;/h2&gt;
&lt;p&gt;We have been building infrastructure for the public web &lt;a href="https://www.abetterinternet.org/about/"&gt;since 2013&lt;/a&gt; on the principle that security should be available to everyone, automatically, at no cost. The quantum transition is a generational change in how that security works under the hood.&lt;/p&gt;
&lt;p&gt;We will have more to say as the work progresses. Until then, our thanks to the cryptographers, browser engineers, IETF working groups, and CAs whose work has gotten us this far.&lt;/p&gt;</summary>
    <published>2026-06-02T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2026/04/10/test-sites.html</id>
    <title>The difficulty of making sure your website is broken</title>
    <updated>2026-04-09T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;p&gt;Have you ever needed to make sure your website has a broken certificate? While many tools exist to help run an HTTPS server with valid certificates, there aren&amp;rsquo;t tools to make sure your certificate is revoked or expired. This is not a problem most people have. Tools to help manage certificates are always focused on avoiding those problems, not creating them.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt is a Certificate Authority, and so we have unusual problems we need to solve.&lt;/p&gt;
&lt;p&gt;One of the requirements for publicly trusted Certificate Authorities is to host websites with test certificates, some of which need to be revoked or expired. This &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1730291"&gt;gets&lt;/a&gt; &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1904038"&gt;messed&lt;/a&gt; &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1947207"&gt;up&lt;/a&gt; more than you might expect, but it&amp;rsquo;s a bit tricky to get right. Test certificate sites exist to allow developers to test their clients, so it&amp;rsquo;s important that they&amp;rsquo;re done right.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;d previously used certbot, nginx, and some shell scripts, but the shell scripts were getting a bit too complicated. So we wrote a Go program tailored to the specific needs of a CA&amp;rsquo;s test certs site.&lt;/p&gt;
&lt;h2 id="the-websites"&gt;The websites&lt;/h2&gt;
&lt;p&gt;We need to host three sites per root certificate:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;valid&lt;/strong&gt; certificate, like any other website.&lt;/li&gt;
&lt;li&gt;An &lt;strong&gt;expired&lt;/strong&gt; certificate, past its expiry date.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;revoked&lt;/strong&gt; certificate, but it can&amp;rsquo;t be expired.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Valid is easy enough; it&amp;rsquo;s the normal case of any other website. This is a solved problem.&lt;/p&gt;
&lt;p&gt;Expired, too, is pretty easy. Issue one certificate, wait until it expires, and then you can use it forever. Not a normal feature, but so long as your webserver doesn&amp;rsquo;t get upset at it being expired, it&amp;rsquo;s easy to set up once and leave it.&lt;/p&gt;
&lt;p&gt;Revoked, though, is where it&amp;rsquo;s easiest to slip up. You could fail to revoke a certificate and serve a perfectly valid one, or you could let your revoked certificate expire. Making sure your website is serving a non-expired but revoked certificate is not something any of the off-the-shelf tools support.&lt;/p&gt;
&lt;h2 id="the-ingredients-to-bake-a-cake"&gt;The ingredients to bake a cake&lt;/h2&gt;
&lt;p&gt;In order to implement our program, we need a few different ingredients to mix together.&lt;/p&gt;
&lt;p&gt;First and foremost, we need to be able to get certificates. Because we&amp;rsquo;re writing this in Go, we&amp;rsquo;re using &lt;a href="https://go-acme.github.io/lego/"&gt;Lego&lt;/a&gt; as a library to request the certificates. Obtaining a certificate requires completing a domain validation challenge. We can hook Lego up to the Go webserver we&amp;rsquo;re using to complete TLS-ALPN-01 validation. We use that challenge type because it doesn&amp;rsquo;t require any more setup beyond exposing our webserver to the internet.&lt;/p&gt;
&lt;p&gt;To get a revoked certificate, we request a certificate and then revoke it. That&amp;rsquo;s something we can do with Lego and ACME too: The account which issued a certificate can request it be revoked. We then need a way to check that the certificate is revoked. Certificates contain an HTTP URL pointing to the Certificate Revocation List (CRL) which we poll until our certificate&amp;rsquo;s serial number appears in it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt implements the &lt;a href="https://datatracker.ietf.org/doc/html/rfc8555/"&gt;ACME standard&lt;/a&gt;, which defines how clients can get certificates. In general, we think ACME clients integrated into webservers are often the best way to get certificates for websites. They can automatically handle challenges, manage and reload certificates, and overall minimize the amount of work and reduce problems.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;We also need a way to wait until a certificate is in the right state. The valid certificate is ready to use right away, but that&amp;rsquo;s not true for the revoked and expired certificates. The revoked certificate needs to wait at least until it appears in a CRL, which can be up to an hour. Expired certificates need to wait even longer: Even if we request the shortest-lived certificates we offer, that&amp;rsquo;s still six days. To handle this, our program stores a &amp;ldquo;next&amp;rdquo; certificate instead of immediately overwriting the current one. We wait at least 24 hours for the revoked certificate to make sure any CRL caches or push-based CRL infrastructure have time to process the revocation. The expired certificate has to wait until it passes its expiration date. After the program decides a certificate is ready, it replaces the current certificate and passes it off to the webserver. Normal ACME tools don&amp;rsquo;t support this because they can usually start using a certificate as soon as it&amp;rsquo;s obtained.&lt;/p&gt;
&lt;p&gt;And finally, we need a webserver to host the certificates. We&amp;rsquo;re using Go, which has a great built-in TLS and HTTP serving stack we can use. The Go TLS server takes a GetCertificate callback function that decides what certificate to use for each new connection. We have all our certificates in-memory and select the right one to serve based on the request&amp;rsquo;s &lt;a href="https://letsencrypt.org/docs/glossary/#def-SNI"&gt;SNI&lt;/a&gt;. This function is also where we hook up Lego to serve the challenge certificates required for TLS-ALPN-01. Because we prioritize serving the correct certificate over uptime, we refuse to handle a connection if the corresponding certificate is expired (unless it should be expired!).&lt;/p&gt;
&lt;h2 id="visiting-the-sites"&gt;Visiting the sites&lt;/h2&gt;
&lt;p&gt;If you visit one of our revoked sites, you might not get an error message. Revocation checking in browsers varies pretty widely, and has historically not worked great. Today&amp;rsquo;s state-of-the-art is &lt;a href="https://hacks.mozilla.org/2025/08/crlite-fast-private-and-comprehensive-certificate-revocation-checking-in-firefox/"&gt;Firefox&amp;rsquo;s CRLite&lt;/a&gt;, which is efficient and reliable. Ubuntu is deploying &lt;a href="https://discourse.ubuntu.com/t/an-update-on-upki/77063"&gt;upki&lt;/a&gt;, a Rustls project based on CRLite. We hope other browsers and operating systems follow suit. The upki project is a great example of a project &lt;a href="https://github.com/rustls/upki/tree/main/revoke-test"&gt;making use of&lt;/a&gt; these revoked test certificates, too.&lt;/p&gt;
&lt;p&gt;The actual content of the website isn&amp;rsquo;t terribly important: We just have a little HTML page explaining what the site is. But since this website is meant for testing clients, there&amp;rsquo;s more than just browsers connecting. In particular, it&amp;rsquo;s pretty routine that I try connecting with &lt;code&gt;curl&lt;/code&gt; or some other terminal http client, and getting a bunch of HTML spewed to your terminal isn&amp;rsquo;t very nice.&lt;/p&gt;
&lt;p&gt;As a small Easter egg, we added a plain text version of the website with an ASCII art version of our logo that we serve if your HTTP client doesn&amp;rsquo;t include text/html in its &lt;code&gt;Accept&lt;/code&gt; HTTP header. You can pass a ?txt or ?html URL parameter to specifically request one or the other version of the content, if you just want to &lt;a href="https://valid.x2.test-certs.letsencrypt.org/?txt"&gt;see the ASCII art&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt has four root certificates right now. Each of them has test sites linked both here and from &lt;a href="https://letsencrypt.org/certificates/"&gt;our documentation&lt;/a&gt;.&lt;/p&gt;
&lt;div class="sites-tables"&gt;
&lt;table class="sites-table"&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Root X1&lt;/td&gt;&lt;td&gt;&lt;a href="https://valid.x1.test-certs.letsencrypt.org"&gt;valid&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://expired.x1.test-certs.letsencrypt.org"&gt;expired&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://revoked.x1.test-certs.letsencrypt.org"&gt;revoked&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Root X2&lt;/td&gt;&lt;td&gt;&lt;a href="https://valid.x2.test-certs.letsencrypt.org"&gt;valid&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://expired.x2.test-certs.letsencrypt.org"&gt;expired&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://revoked.x2.test-certs.letsencrypt.org"&gt;revoked&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Root YE&lt;/td&gt;&lt;td&gt;&lt;a href="https://valid.ye.test-certs.letsencrypt.org"&gt;valid&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://expired.ye.test-certs.letsencrypt.org"&gt;expired&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://revoked.ye.test-certs.letsencrypt.org"&gt;revoked&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Root YR&lt;/td&gt;&lt;td&gt;&lt;a href="https://valid.yr.test-certs.letsencrypt.org"&gt;valid&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://expired.yr.test-certs.letsencrypt.org"&gt;expired&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://revoked.yr.test-certs.letsencrypt.org"&gt;revoked&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h2 id="the-code"&gt;The code&lt;/h2&gt;
&lt;p&gt;As with a lot of Let&amp;rsquo;s Encrypt, the code for this project is open-source. You can find it at &lt;a href="https://github.com/letsencrypt/test-certs-site/"&gt;https://github.com/letsencrypt/test-certs-site/&lt;/a&gt;. Other Certificate Authorities who need to run similar test certificate sites are welcome to use it. If you need any features that would make using our test certs site easier for your TLS/HTTPS client testing, please feel free to create an issue on that repository.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2026/04/10/test-sites.html"/>
    <summary type="html">&lt;p&gt;Have you ever needed to make sure your website has a broken certificate? While many tools exist to help run an HTTPS server with valid certificates, there aren&amp;rsquo;t tools to make sure your certificate is revoked or expired. This is not a problem most people have. Tools to help manage certificates are always focused on avoiding those problems, not creating them.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt is a Certificate Authority, and so we have unusual problems we need to solve.&lt;/p&gt;
&lt;p&gt;One of the requirements for publicly trusted Certificate Authorities is to host websites with test certificates, some of which need to be revoked or expired. This &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1730291"&gt;gets&lt;/a&gt; &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1904038"&gt;messed&lt;/a&gt; &lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1947207"&gt;up&lt;/a&gt; more than you might expect, but it&amp;rsquo;s a bit tricky to get right. Test certificate sites exist to allow developers to test their clients, so it&amp;rsquo;s important that they&amp;rsquo;re done right.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;d previously used certbot, nginx, and some shell scripts, but the shell scripts were getting a bit too complicated. So we wrote a Go program tailored to the specific needs of a CA&amp;rsquo;s test certs site.&lt;/p&gt;
&lt;h2 id="the-websites"&gt;The websites&lt;/h2&gt;
&lt;p&gt;We need to host three sites per root certificate:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A &lt;strong&gt;valid&lt;/strong&gt; certificate, like any other website.&lt;/li&gt;
&lt;li&gt;An &lt;strong&gt;expired&lt;/strong&gt; certificate, past its expiry date.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;revoked&lt;/strong&gt; certificate, but it can&amp;rsquo;t be expired.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Valid is easy enough; it&amp;rsquo;s the normal case of any other website. This is a solved problem.&lt;/p&gt;
&lt;p&gt;Expired, too, is pretty easy. Issue one certificate, wait until it expires, and then you can use it forever. Not a normal feature, but so long as your webserver doesn&amp;rsquo;t get upset at it being expired, it&amp;rsquo;s easy to set up once and leave it.&lt;/p&gt;
&lt;p&gt;Revoked, though, is where it&amp;rsquo;s easiest to slip up. You could fail to revoke a certificate and serve a perfectly valid one, or you could let your revoked certificate expire. Making sure your website is serving a non-expired but revoked certificate is not something any of the off-the-shelf tools support.&lt;/p&gt;
&lt;h2 id="the-ingredients-to-bake-a-cake"&gt;The ingredients to bake a cake&lt;/h2&gt;
&lt;p&gt;In order to implement our program, we need a few different ingredients to mix together.&lt;/p&gt;
&lt;p&gt;First and foremost, we need to be able to get certificates. Because we&amp;rsquo;re writing this in Go, we&amp;rsquo;re using &lt;a href="https://go-acme.github.io/lego/"&gt;Lego&lt;/a&gt; as a library to request the certificates. Obtaining a certificate requires completing a domain validation challenge. We can hook Lego up to the Go webserver we&amp;rsquo;re using to complete TLS-ALPN-01 validation. We use that challenge type because it doesn&amp;rsquo;t require any more setup beyond exposing our webserver to the internet.&lt;/p&gt;
&lt;p&gt;To get a revoked certificate, we request a certificate and then revoke it. That&amp;rsquo;s something we can do with Lego and ACME too: The account which issued a certificate can request it be revoked. We then need a way to check that the certificate is revoked. Certificates contain an HTTP URL pointing to the Certificate Revocation List (CRL) which we poll until our certificate&amp;rsquo;s serial number appears in it.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt implements the &lt;a href="https://datatracker.ietf.org/doc/html/rfc8555/"&gt;ACME standard&lt;/a&gt;, which defines how clients can get certificates. In general, we think ACME clients integrated into webservers are often the best way to get certificates for websites. They can automatically handle challenges, manage and reload certificates, and overall minimize the amount of work and reduce problems.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;We also need a way to wait until a certificate is in the right state. The valid certificate is ready to use right away, but that&amp;rsquo;s not true for the revoked and expired certificates. The revoked certificate needs to wait at least until it appears in a CRL, which can be up to an hour. Expired certificates need to wait even longer: Even if we request the shortest-lived certificates we offer, that&amp;rsquo;s still six days. To handle this, our program stores a &amp;ldquo;next&amp;rdquo; certificate instead of immediately overwriting the current one. We wait at least 24 hours for the revoked certificate to make sure any CRL caches or push-based CRL infrastructure have time to process the revocation. The expired certificate has to wait until it passes its expiration date. After the program decides a certificate is ready, it replaces the current certificate and passes it off to the webserver. Normal ACME tools don&amp;rsquo;t support this because they can usually start using a certificate as soon as it&amp;rsquo;s obtained.&lt;/p&gt;
&lt;p&gt;And finally, we need a webserver to host the certificates. We&amp;rsquo;re using Go, which has a great built-in TLS and HTTP serving stack we can use. The Go TLS server takes a GetCertificate callback function that decides what certificate to use for each new connection. We have all our certificates in-memory and select the right one to serve based on the request&amp;rsquo;s &lt;a href="https://letsencrypt.org/docs/glossary/#def-SNI"&gt;SNI&lt;/a&gt;. This function is also where we hook up Lego to serve the challenge certificates required for TLS-ALPN-01. Because we prioritize serving the correct certificate over uptime, we refuse to handle a connection if the corresponding certificate is expired (unless it should be expired!).&lt;/p&gt;
&lt;h2 id="visiting-the-sites"&gt;Visiting the sites&lt;/h2&gt;
&lt;p&gt;If you visit one of our revoked sites, you might not get an error message. Revocation checking in browsers varies pretty widely, and has historically not worked great. Today&amp;rsquo;s state-of-the-art is &lt;a href="https://hacks.mozilla.org/2025/08/crlite-fast-private-and-comprehensive-certificate-revocation-checking-in-firefox/"&gt;Firefox&amp;rsquo;s CRLite&lt;/a&gt;, which is efficient and reliable. Ubuntu is deploying &lt;a href="https://discourse.ubuntu.com/t/an-update-on-upki/77063"&gt;upki&lt;/a&gt;, a Rustls project based on CRLite. We hope other browsers and operating systems follow suit. The upki project is a great example of a project &lt;a href="https://github.com/rustls/upki/tree/main/revoke-test"&gt;making use of&lt;/a&gt; these revoked test certificates, too.&lt;/p&gt;
&lt;p&gt;The actual content of the website isn&amp;rsquo;t terribly important: We just have a little HTML page explaining what the site is. But since this website is meant for testing clients, there&amp;rsquo;s more than just browsers connecting. In particular, it&amp;rsquo;s pretty routine that I try connecting with &lt;code&gt;curl&lt;/code&gt; or some other terminal http client, and getting a bunch of HTML spewed to your terminal isn&amp;rsquo;t very nice.&lt;/p&gt;
&lt;p&gt;As a small Easter egg, we added a plain text version of the website with an ASCII art version of our logo that we serve if your HTTP client doesn&amp;rsquo;t include text/html in its &lt;code&gt;Accept&lt;/code&gt; HTTP header. You can pass a ?txt or ?html URL parameter to specifically request one or the other version of the content, if you just want to &lt;a href="https://valid.x2.test-certs.letsencrypt.org/?txt"&gt;see the ASCII art&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt has four root certificates right now. Each of them has test sites linked both here and from &lt;a href="https://letsencrypt.org/certificates/"&gt;our documentation&lt;/a&gt;.&lt;/p&gt;
&lt;div class="sites-tables"&gt;
&lt;table class="sites-table"&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Root X1&lt;/td&gt;&lt;td&gt;&lt;a href="https://valid.x1.test-certs.letsencrypt.org"&gt;valid&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://expired.x1.test-certs.letsencrypt.org"&gt;expired&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://revoked.x1.test-certs.letsencrypt.org"&gt;revoked&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Root X2&lt;/td&gt;&lt;td&gt;&lt;a href="https://valid.x2.test-certs.letsencrypt.org"&gt;valid&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://expired.x2.test-certs.letsencrypt.org"&gt;expired&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://revoked.x2.test-certs.letsencrypt.org"&gt;revoked&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Root YE&lt;/td&gt;&lt;td&gt;&lt;a href="https://valid.ye.test-certs.letsencrypt.org"&gt;valid&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://expired.ye.test-certs.letsencrypt.org"&gt;expired&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://revoked.ye.test-certs.letsencrypt.org"&gt;revoked&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Root YR&lt;/td&gt;&lt;td&gt;&lt;a href="https://valid.yr.test-certs.letsencrypt.org"&gt;valid&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://expired.yr.test-certs.letsencrypt.org"&gt;expired&lt;/a&gt;&lt;/td&gt;&lt;td&gt;&lt;a href="https://revoked.yr.test-certs.letsencrypt.org"&gt;revoked&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;h2 id="the-code"&gt;The code&lt;/h2&gt;
&lt;p&gt;As with a lot of Let&amp;rsquo;s Encrypt, the code for this project is open-source. You can find it at &lt;a href="https://github.com/letsencrypt/test-certs-site/"&gt;https://github.com/letsencrypt/test-certs-site/&lt;/a&gt;. Other Certificate Authorities who need to run similar test certificate sites are welcome to use it. If you need any features that would make using our test certs site easier for your TLS/HTTPS client testing, please feel free to create an issue on that repository.&lt;/p&gt;</summary>
    <published>2026-04-09T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2026/03/17/acme-renewal-information-ari.html</id>
    <title>Simplifying Certificate Renewals for Millions of Domains with ACME Renewal Information (ARI)</title>
    <updated>2026-03-16T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Nick Silverman is a Senior Infrastructure Engineer on the Edge Infrastructure team at Shopify, where he maintains the systems that provision, renew, and publish SSL certificates for millions of merchants&amp;rsquo; custom domains. He is also a contributor to the Ruby acme-client gem.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id="the-challenge"&gt;The challenge&lt;/h3&gt;
&lt;p&gt;Shopify&amp;rsquo;s automated certificate management system relied on a static renewal threshold: 30 days before the end of the 90-day lifetime. To spread the load of provisioning and renewing certificates, we implemented a random 0&amp;ndash;72 hour delay for each. While this helps evenly distribute certificate management over time, it did not take into account the Certificate Authority&amp;rsquo;s (CA) load. It was also incapable of reacting to a dynamic renewal window based on information provided by the CA.&lt;/p&gt;
&lt;p&gt;However, this approach needed greater resilience to solve what is, in the end, a distributed coordination problem. The weaknesses are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;No rapid revocation response:&lt;/strong&gt; The static logic is not aware of revocations at all.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Brittleness to lifetime changes:&lt;/strong&gt; The static 30-day threshold is not resilient to changes in certificate lifetime, such as &lt;a href="https://letsencrypt.org/2025/12/02/from-90-to-45"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s announced plan to move to 45-day certificates.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Imperfect load distribution:&lt;/strong&gt; Despite the random jitter, massive renewal bursts could still occur.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Shopify needed to develop a global coordination system to balance the load and handle regular and urgent renewals. Thankfully, Let&amp;rsquo;s Encrypt has led the charge on a solution for this and other very important aspects of the certificate lifecycle.&lt;/p&gt;
&lt;h3 id="the-journey"&gt;The journey&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt and the Internet Engineering Task Force (IETF) published the &lt;a href="https://letsencrypt.org/2025/09/16/ari-rfc"&gt;ACME Renewal Information (ARI)&lt;/a&gt; standard which makes an endpoint available that provides a recommended window of time for the renewal to occur. The endpoint returns a payload that looks something like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="chroma" tabindex="0"&gt;&lt;code class="language-shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;GET /renewal-info/ACME_KEY_IDENTIFIER
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;  &lt;span class="s2"&gt;"suggestedWindow"&lt;/span&gt;: &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="s2"&gt;"start"&lt;/span&gt;: &lt;span class="s2"&gt;"2026-02-03T04:00:00Z"&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="s2"&gt;"end"&lt;/span&gt;: &lt;span class="s2"&gt;"2026-02-04T04:00:00Z"&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;  &lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Shopify&amp;rsquo;s certificate management system uses the &lt;a href="https://github.com/unixcharles/acme-client"&gt;acme-client&lt;/a&gt; Ruby gem originally authored by another Shopify employee. A growing number of ACME clients, including &lt;a href="https://certbot.eff.org/"&gt;certbot&lt;/a&gt;, have enabled support for ARI, but the Ruby gem did not yet support this feature. Rather than building a custom solution, we decided to enable support for the ARI extension directly in the client.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s &lt;a href="https://letsencrypt.org/2024/04/25/guide-to-integrating-ari-into-existing-acme-clients"&gt;guide to integrating ARI&lt;/a&gt; provided the necessary roadmap, and the implementation was completed with &lt;a href="https://github.com/unixcharles/acme-client/pull/257"&gt;one PR&lt;/a&gt;. This contribution means that not only Shopify, but also the wider Ruby community, can benefit from the ARI extension.&lt;/p&gt;
&lt;h3 id="deployment-and-ari-at-scale"&gt;Deployment and ARI at scale&lt;/h3&gt;
&lt;p&gt;Once we shipped the gem support, integrating ARI into our certificate management system was straightforward. Instead of checking a static 30-day threshold, we now query the ARI endpoint and use the suggested renewal window as the gate for initiating renewals. Those dates are stored alongside the certificate upon its initial provisioning.&lt;/p&gt;
&lt;p&gt;The updated Ruby gem provides a method for fetching renewal information:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="chroma" tabindex="0"&gt;&lt;code class="language-ruby"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;renewal_info&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;renewal_info&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;certificate&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;existing_certificate_pem&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This method generates an ARI certificate identifier that can be used when making the API call. The client also includes a helper method, &lt;code&gt;suggested_renewal_time&lt;/code&gt;, which chooses a random time between the returned start and end dates. The certificate identifier can be passed to the &lt;code&gt;new_order&lt;/code&gt; method via the &lt;code&gt;replaces&lt;/code&gt; key, which can grant a higher priority or bypass rate limits for renewals occurring during the window, depending on the CA&amp;rsquo;s policies.&lt;/p&gt;
&lt;p&gt;Critically, Shopify also regularly polls the ARI endpoint for updated renewal timestamps. This allows our systems to rely on those timestamps as the primary renewal timing logic and removes the need for inflexible hard-coded expiry thresholds. This becomes the mechanism that Let&amp;rsquo;s Encrypt uses to dynamically change the renewal time due to a revocation event.&lt;/p&gt;
&lt;h3 id="results-and-rewards"&gt;Results and rewards&lt;/h3&gt;
&lt;p&gt;&lt;img alt="" src="https://letsencrypt.org/images/blog/2026.03.17.acme-renewal-information-ari-image-1.png" /&gt;&lt;/p&gt;
&lt;p&gt;Since enabling the use of the ARI extension, our certificate management system has become significantly more robust. Shopify now delegates the responsibility of determining renewal timing to Let&amp;rsquo;s Encrypt. The ARI extension has proven to be an impactful infrastructure improvement and the benefits gained are immediate. These benefits, alongside fewer manual interventions, are the operational success story:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Future-proofing:&lt;/strong&gt; We gained resilience against any future certificate lifetime changes and mass revocation events without needing code updates&amp;mdash;ensuring our renewal logic is flexible.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Optimized load:&lt;/strong&gt; We directly benefit from the CA&amp;rsquo;s coordinated load balancing provided by the suggested renewal window, eliminating local randomness issues and the need for complex global coordination.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Revocation readiness:&lt;/strong&gt; ARI allows systems to quickly detect and respond to revocation events when an urgent renewal is necessary, well before certificates get close to their due dates.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Simple implementation:&lt;/strong&gt; The extension is mature (&lt;a href="https://datatracker.ietf.org/doc/rfc9773/"&gt;RFC 9773&lt;/a&gt;) and the implementation is straightforward, providing simplified renewal logic and CA-optimized timing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Good citizenship:&lt;/strong&gt; Anyone using ARI helps the CA optimize its infrastructure, and contributes to better aggregate behavior across the entire ecosystem.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you&amp;rsquo;re still relying on static renewal thresholds, give ARI a look&amp;mdash;Shopify wholeheartedly encourages all ACME users and client developers to adopt the ARI extension.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2026/03/17/acme-renewal-information-ari.html"/>
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;Nick Silverman is a Senior Infrastructure Engineer on the Edge Infrastructure team at Shopify, where he maintains the systems that provision, renew, and publish SSL certificates for millions of merchants&amp;rsquo; custom domains. He is also a contributor to the Ruby acme-client gem.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id="the-challenge"&gt;The challenge&lt;/h3&gt;
&lt;p&gt;Shopify&amp;rsquo;s automated certificate management system relied on a static renewal threshold: 30 days before the end of the 90-day lifetime. To spread the load of provisioning and renewing certificates, we implemented a random 0&amp;ndash;72 hour delay for each. While this helps evenly distribute certificate management over time, it did not take into account the Certificate Authority&amp;rsquo;s (CA) load. It was also incapable of reacting to a dynamic renewal window based on information provided by the CA.&lt;/p&gt;
&lt;p&gt;However, this approach needed greater resilience to solve what is, in the end, a distributed coordination problem. The weaknesses are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;No rapid revocation response:&lt;/strong&gt; The static logic is not aware of revocations at all.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Brittleness to lifetime changes:&lt;/strong&gt; The static 30-day threshold is not resilient to changes in certificate lifetime, such as &lt;a href="https://letsencrypt.org/2025/12/02/from-90-to-45"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s announced plan to move to 45-day certificates.&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Imperfect load distribution:&lt;/strong&gt; Despite the random jitter, massive renewal bursts could still occur.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Shopify needed to develop a global coordination system to balance the load and handle regular and urgent renewals. Thankfully, Let&amp;rsquo;s Encrypt has led the charge on a solution for this and other very important aspects of the certificate lifecycle.&lt;/p&gt;
&lt;h3 id="the-journey"&gt;The journey&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt and the Internet Engineering Task Force (IETF) published the &lt;a href="https://letsencrypt.org/2025/09/16/ari-rfc"&gt;ACME Renewal Information (ARI)&lt;/a&gt; standard which makes an endpoint available that provides a recommended window of time for the renewal to occur. The endpoint returns a payload that looks something like this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="chroma" tabindex="0"&gt;&lt;code class="language-shell"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;GET /renewal-info/ACME_KEY_IDENTIFIER
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;  &lt;span class="s2"&gt;"suggestedWindow"&lt;/span&gt;: &lt;span class="o"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="s2"&gt;"start"&lt;/span&gt;: &lt;span class="s2"&gt;"2026-02-03T04:00:00Z"&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;    &lt;span class="s2"&gt;"end"&lt;/span&gt;: &lt;span class="s2"&gt;"2026-02-04T04:00:00Z"&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;  &lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Shopify&amp;rsquo;s certificate management system uses the &lt;a href="https://github.com/unixcharles/acme-client"&gt;acme-client&lt;/a&gt; Ruby gem originally authored by another Shopify employee. A growing number of ACME clients, including &lt;a href="https://certbot.eff.org/"&gt;certbot&lt;/a&gt;, have enabled support for ARI, but the Ruby gem did not yet support this feature. Rather than building a custom solution, we decided to enable support for the ARI extension directly in the client.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s &lt;a href="https://letsencrypt.org/2024/04/25/guide-to-integrating-ari-into-existing-acme-clients"&gt;guide to integrating ARI&lt;/a&gt; provided the necessary roadmap, and the implementation was completed with &lt;a href="https://github.com/unixcharles/acme-client/pull/257"&gt;one PR&lt;/a&gt;. This contribution means that not only Shopify, but also the wider Ruby community, can benefit from the ARI extension.&lt;/p&gt;
&lt;h3 id="deployment-and-ari-at-scale"&gt;Deployment and ARI at scale&lt;/h3&gt;
&lt;p&gt;Once we shipped the gem support, integrating ARI into our certificate management system was straightforward. Instead of checking a static 30-day threshold, we now query the ARI endpoint and use the suggested renewal window as the gate for initiating renewals. Those dates are stored alongside the certificate upon its initial provisioning.&lt;/p&gt;
&lt;p&gt;The updated Ruby gem provides a method for fetching renewal information:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="chroma" tabindex="0"&gt;&lt;code class="language-ruby"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;renewal_info&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;client&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;renewal_info&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="ss"&gt;certificate&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;existing_certificate_pem&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This method generates an ARI certificate identifier that can be used when making the API call. The client also includes a helper method, &lt;code&gt;suggested_renewal_time&lt;/code&gt;, which chooses a random time between the returned start and end dates. The certificate identifier can be passed to the &lt;code&gt;new_order&lt;/code&gt; method via the &lt;code&gt;replaces&lt;/code&gt; key, which can grant a higher priority or bypass rate limits for renewals occurring during the window, depending on the CA&amp;rsquo;s policies.&lt;/p&gt;
&lt;p&gt;Critically, Shopify also regularly polls the ARI endpoint for updated renewal timestamps. This allows our systems to rely on those timestamps as the primary renewal timing logic and removes the need for inflexible hard-coded expiry thresholds. This becomes the mechanism that Let&amp;rsquo;s Encrypt uses to dynamically change the renewal time due to a revocation event.&lt;/p&gt;
&lt;h3 id="results-and-rewards"&gt;Results and rewards&lt;/h3&gt;
&lt;p&gt;&lt;img alt="" src="https://letsencrypt.org/images/blog/2026.03.17.acme-renewal-information-ari-image-1.png" /&gt;&lt;/p&gt;
&lt;p&gt;Since enabling the use of the ARI extension, our certificate management system has become significantly more robust. Shopify now delegates the responsibility of determining renewal timing to Let&amp;rsquo;s Encrypt. The ARI extension has proven to be an impactful infrastructure improvement and the benefits gained are immediate. These benefits, alongside fewer manual interventions, are the operational success story:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Future-proofing:&lt;/strong&gt; We gained resilience against any future certificate lifetime changes and mass revocation events without needing code updates&amp;mdash;ensuring our renewal logic is flexible.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Optimized load:&lt;/strong&gt; We directly benefit from the CA&amp;rsquo;s coordinated load balancing provided by the suggested renewal window, eliminating local randomness issues and the need for complex global coordination.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Revocation readiness:&lt;/strong&gt; ARI allows systems to quickly detect and respond to revocation events when an urgent renewal is necessary, well before certificates get close to their due dates.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Simple implementation:&lt;/strong&gt; The extension is mature (&lt;a href="https://datatracker.ietf.org/doc/rfc9773/"&gt;RFC 9773&lt;/a&gt;) and the implementation is straightforward, providing simplified renewal logic and CA-optimized timing.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Good citizenship:&lt;/strong&gt; Anyone using ARI helps the CA optimize its infrastructure, and contributes to better aggregate behavior across the entire ecosystem.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you&amp;rsquo;re still relying on static renewal thresholds, give ARI a look&amp;mdash;Shopify wholeheartedly encourages all ACME users and client developers to adopt the ARI extension.&lt;/p&gt;</summary>
    <published>2026-03-16T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2026/03/11/shorter-certs-certbot.html</id>
    <title>Six-Day and IP Address Certificates Available in Certbot</title>
    <updated>2026-03-10T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;This was also posted on &lt;a href="https://www.eff.org/deeplinks/2026/03/certbot-and-lets-encrypt-now-support-ip-address-certificates"&gt;EFF&amp;rsquo;s blog&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;As we announced earlier this year, Let&amp;rsquo;s Encrypt now &lt;a href="https://letsencrypt.org/2026/01/15/6day-and-ip-general-availability"&gt;issues IP address and six-day certificates&lt;/a&gt; to the general public. The Certbot team at the &lt;a href="https://www.eff.org/"&gt;Electronic Frontier Foundation&lt;/a&gt; has been working on two improvements to support these features: the &lt;code&gt;--preferred-profile&lt;/code&gt; flag released last year in Certbot 4.0, and the &lt;code&gt;--ip-address&lt;/code&gt; flag, new in Certbot 5.3. With these improvements together, you can now use &lt;a href="https://certbot.eff.org/"&gt;Certbot&lt;/a&gt; to get those IP address certificates!&lt;/p&gt;
&lt;p&gt;If you want to try getting an IP address certificate using Certbot, install version 5.4 or higher (for &lt;code&gt;webroot&lt;/code&gt; support with IP addresses), and run this command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="chroma" tabindex="0"&gt;&lt;code class="language-bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo certbot certonly --staging &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="se"&gt;&lt;/span&gt;  --preferred-profile shortlived &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="se"&gt;&lt;/span&gt;  --webroot &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="se"&gt;&lt;/span&gt;  --webroot-path &amp;lt;filesystem path to webserver root&amp;gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="se"&gt;&lt;/span&gt;  --ip-address &amp;lt;your ip address&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Two things of note:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;This will request a non-trusted certificate from the Let&amp;rsquo;s Encrypt staging server. Once you&amp;rsquo;ve got things working the way you want, run without the &lt;code&gt;--staging&lt;/code&gt; flag to get a publicly trusted certificate.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This requests a certificate with Let&amp;rsquo;s Encrypt&amp;rsquo;s &amp;ldquo;shortlived&amp;rdquo; profile, which will be good for 6 days. This is a Let&amp;rsquo;s Encrypt requirement for IP address certificates.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As of right now, Certbot only supports getting IP address certificates, not yet installing them in your web server. There&amp;rsquo;s work to come on that front. In the meantime, edit your webserver configuration to load the newly issued certificate from &lt;code&gt;/etc/letsencrypt/live/&amp;lt;ip address&amp;gt;/fullchain.pem&lt;/code&gt; and &lt;code&gt;/etc/letsencrypt/live/&amp;lt;ip address&amp;gt;/privkey.pem&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The command line above uses Certbot&amp;rsquo;s &amp;ldquo;webroot&amp;rdquo; mode, which places a challenge response file in a location where your already-running webserver can serve it. This is nice since you don&amp;rsquo;t have to temporarily take down your server.&lt;/p&gt;
&lt;p&gt;There are two other plugins that support IP address certificates today: &lt;code&gt;--manual&lt;/code&gt; and &lt;code&gt;--standalone&lt;/code&gt;. The &lt;code&gt;manual&lt;/code&gt; plugin is like &lt;code&gt;webroot&lt;/code&gt;, except Certbot pauses while you place the challenge response file manually (or &lt;a href="https://eff-certbot.readthedocs.io/en/stable/using.html#hooks"&gt;runs a user-provided hook&lt;/a&gt; to place the file). The &lt;code&gt;standalone&lt;/code&gt; plugin runs a simple web server that serves a challenge response. It has the advantage of being very easy to configure, but has the disadvantage that any running webserver on port 80 has to be temporarily taken down so Certbot can listen on that port. The &lt;code&gt;nginx&lt;/code&gt; and &lt;code&gt;apache&lt;/code&gt; plugins don&amp;rsquo;t yet support IP addresses.&lt;/p&gt;
&lt;p&gt;You should also be sure that Certbot is set up for automatic renewal. Most installation methods for Certbot set up automatic renewal for you. However, since the webserver-specific installers don&amp;rsquo;t yet support IP address certificates, you&amp;rsquo;ll have to &lt;a href="https://eff-certbot.readthedocs.io/en/stable/using.html#renewing-certificates"&gt;set a &lt;code&gt;--deploy-hook&lt;/code&gt;&lt;/a&gt; that tells your webserver to load the most up-to-date certificates from disk. You can provide this &lt;code&gt;--deploy-hook&lt;/code&gt; through the &lt;code&gt;certbot reconfigure&lt;/code&gt; command using the rest of the flags above.&lt;/p&gt;
&lt;p&gt;We hope you enjoy using IP address certificates with Let&amp;rsquo;s Encrypt and Certbot, and as always if you get stuck you can ask for help in our &lt;a href="https://community.letsencrypt.org/"&gt;Community Forum&lt;/a&gt;.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2026/03/11/shorter-certs-certbot.html"/>
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;This was also posted on &lt;a href="https://www.eff.org/deeplinks/2026/03/certbot-and-lets-encrypt-now-support-ip-address-certificates"&gt;EFF&amp;rsquo;s blog&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;As we announced earlier this year, Let&amp;rsquo;s Encrypt now &lt;a href="https://letsencrypt.org/2026/01/15/6day-and-ip-general-availability"&gt;issues IP address and six-day certificates&lt;/a&gt; to the general public. The Certbot team at the &lt;a href="https://www.eff.org/"&gt;Electronic Frontier Foundation&lt;/a&gt; has been working on two improvements to support these features: the &lt;code&gt;--preferred-profile&lt;/code&gt; flag released last year in Certbot 4.0, and the &lt;code&gt;--ip-address&lt;/code&gt; flag, new in Certbot 5.3. With these improvements together, you can now use &lt;a href="https://certbot.eff.org/"&gt;Certbot&lt;/a&gt; to get those IP address certificates!&lt;/p&gt;
&lt;p&gt;If you want to try getting an IP address certificate using Certbot, install version 5.4 or higher (for &lt;code&gt;webroot&lt;/code&gt; support with IP addresses), and run this command:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="chroma" tabindex="0"&gt;&lt;code class="language-bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;sudo certbot certonly --staging &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="se"&gt;&lt;/span&gt;  --preferred-profile shortlived &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="se"&gt;&lt;/span&gt;  --webroot &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="se"&gt;&lt;/span&gt;  --webroot-path &amp;lt;filesystem path to webserver root&amp;gt; &lt;span class="se"&gt;\
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="se"&gt;&lt;/span&gt;  --ip-address &amp;lt;your ip address&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Two things of note:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;This will request a non-trusted certificate from the Let&amp;rsquo;s Encrypt staging server. Once you&amp;rsquo;ve got things working the way you want, run without the &lt;code&gt;--staging&lt;/code&gt; flag to get a publicly trusted certificate.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;This requests a certificate with Let&amp;rsquo;s Encrypt&amp;rsquo;s &amp;ldquo;shortlived&amp;rdquo; profile, which will be good for 6 days. This is a Let&amp;rsquo;s Encrypt requirement for IP address certificates.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As of right now, Certbot only supports getting IP address certificates, not yet installing them in your web server. There&amp;rsquo;s work to come on that front. In the meantime, edit your webserver configuration to load the newly issued certificate from &lt;code&gt;/etc/letsencrypt/live/&amp;lt;ip address&amp;gt;/fullchain.pem&lt;/code&gt; and &lt;code&gt;/etc/letsencrypt/live/&amp;lt;ip address&amp;gt;/privkey.pem&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The command line above uses Certbot&amp;rsquo;s &amp;ldquo;webroot&amp;rdquo; mode, which places a challenge response file in a location where your already-running webserver can serve it. This is nice since you don&amp;rsquo;t have to temporarily take down your server.&lt;/p&gt;
&lt;p&gt;There are two other plugins that support IP address certificates today: &lt;code&gt;--manual&lt;/code&gt; and &lt;code&gt;--standalone&lt;/code&gt;. The &lt;code&gt;manual&lt;/code&gt; plugin is like &lt;code&gt;webroot&lt;/code&gt;, except Certbot pauses while you place the challenge response file manually (or &lt;a href="https://eff-certbot.readthedocs.io/en/stable/using.html#hooks"&gt;runs a user-provided hook&lt;/a&gt; to place the file). The &lt;code&gt;standalone&lt;/code&gt; plugin runs a simple web server that serves a challenge response. It has the advantage of being very easy to configure, but has the disadvantage that any running webserver on port 80 has to be temporarily taken down so Certbot can listen on that port. The &lt;code&gt;nginx&lt;/code&gt; and &lt;code&gt;apache&lt;/code&gt; plugins don&amp;rsquo;t yet support IP addresses.&lt;/p&gt;
&lt;p&gt;You should also be sure that Certbot is set up for automatic renewal. Most installation methods for Certbot set up automatic renewal for you. However, since the webserver-specific installers don&amp;rsquo;t yet support IP address certificates, you&amp;rsquo;ll have to &lt;a href="https://eff-certbot.readthedocs.io/en/stable/using.html#renewing-certificates"&gt;set a &lt;code&gt;--deploy-hook&lt;/code&gt;&lt;/a&gt; that tells your webserver to load the most up-to-date certificates from disk. You can provide this &lt;code&gt;--deploy-hook&lt;/code&gt; through the &lt;code&gt;certbot reconfigure&lt;/code&gt; command using the rest of the flags above.&lt;/p&gt;
&lt;p&gt;We hope you enjoy using IP address certificates with Let&amp;rsquo;s Encrypt and Certbot, and as always if you get stuck you can ask for help in our &lt;a href="https://community.letsencrypt.org/"&gt;Community Forum&lt;/a&gt;.&lt;/p&gt;</summary>
    <published>2026-03-10T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2026/02/24/rate-limits-45-day-certs.html</id>
    <title>Shorter Certificate Lifetimes and Rate Limits</title>
    <updated>2026-02-23T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;p&gt;As &lt;a href="https://letsencrypt.org/2025/12/02/from-90-to-45"&gt;previously announced&lt;/a&gt;, over the next two years we will be switching the default certificate lifetime from 90 days to 64 days, and then 45 days. This will ultimately double the number of certificate renewal requests each day: today we expect renewal around day 60 (of a 90-day certificate), while in the future we expect renewal around day 30 (of a 45-day certificate). If you use an ACME client that &lt;a href="https://letsencrypt.org/2024/04/25/guide-to-integrating-ari-into-existing-acme-clients"&gt;supports ARI&lt;/a&gt;, this will happen automatically.&lt;/p&gt;
&lt;p&gt;The good news for subscribers is that you don&amp;rsquo;t need any changes to your rate limits, whether you are &lt;a href="https://letsencrypt.org/docs/rate-limits/"&gt;using our default limits&lt;/a&gt; or have requested an override. Our rate limits affect issuance for new domain names (or groups of domain names), but &lt;a href="https://letsencrypt.org/docs/rate-limits/#limit-exemptions-for-renewals"&gt;renewals are exempt&lt;/a&gt;. So, for instance, if you are managing a set of 15,000 certificates that you continually renew, and create 250 new certificates (with new domain names) each day, you will be well within our limits both before and after the transition. The 250 new certificates daily will still be well under our &lt;a href="https://letsencrypt.org/docs/rate-limits/#new-orders-per-account"&gt;New Orders per Account limit&lt;/a&gt; of 300 per day. And the 15,000 existing certificates will continue to be unaffected by rate limits, whether your ACME client is renewing them every sixty days or every thirty.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2026/02/24/rate-limits-45-day-certs.html"/>
    <summary type="html">&lt;p&gt;As &lt;a href="https://letsencrypt.org/2025/12/02/from-90-to-45"&gt;previously announced&lt;/a&gt;, over the next two years we will be switching the default certificate lifetime from 90 days to 64 days, and then 45 days. This will ultimately double the number of certificate renewal requests each day: today we expect renewal around day 60 (of a 90-day certificate), while in the future we expect renewal around day 30 (of a 45-day certificate). If you use an ACME client that &lt;a href="https://letsencrypt.org/2024/04/25/guide-to-integrating-ari-into-existing-acme-clients"&gt;supports ARI&lt;/a&gt;, this will happen automatically.&lt;/p&gt;
&lt;p&gt;The good news for subscribers is that you don&amp;rsquo;t need any changes to your rate limits, whether you are &lt;a href="https://letsencrypt.org/docs/rate-limits/"&gt;using our default limits&lt;/a&gt; or have requested an override. Our rate limits affect issuance for new domain names (or groups of domain names), but &lt;a href="https://letsencrypt.org/docs/rate-limits/#limit-exemptions-for-renewals"&gt;renewals are exempt&lt;/a&gt;. So, for instance, if you are managing a set of 15,000 certificates that you continually renew, and create 250 new certificates (with new domain names) each day, you will be well within our limits both before and after the transition. The 250 new certificates daily will still be well under our &lt;a href="https://letsencrypt.org/docs/rate-limits/#new-orders-per-account"&gt;New Orders per Account limit&lt;/a&gt; of 300 per day. And the 15,000 existing certificates will continue to be unaffected by rate limits, whether your ACME client is renewing them every sixty days or every thirty.&lt;/p&gt;</summary>
    <published>2026-02-23T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2026/02/18/dns-persist-01.html</id>
    <title>DNS-PERSIST-01: A New Model for DNS-based Challenge Validation</title>
    <updated>2026-02-17T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;p&gt;When you request a certificate from Let&amp;rsquo;s Encrypt, our servers validate that you control the hostnames in that certificate using &lt;a href="https://letsencrypt.org/docs/challenge-types/"&gt;ACME challenges&lt;/a&gt;. For subscribers who need wildcard certificates or who prefer not to expose infrastructure to the public Internet, the DNS-01 challenge type has long been the only choice. DNS-01 works well. It is widely supported and battle-tested, but it comes with operational costs: DNS propagation delays, recurring DNS updates at renewal time, and automation that often requires distributing DNS credentials throughout your infrastructure.&lt;/p&gt;
&lt;p&gt;We are implementing support for a new ACME challenge type, DNS-PERSIST-01, based on a new &lt;a href="https://datatracker.ietf.org/doc/html/draft-ietf-acme-dns-persist-00"&gt;IETF draft specification&lt;/a&gt;. As the name implies, it uses DNS as the validation mechanism, but replaces repeated demonstrations of control with a persistent authorization record bound to a specific ACME account and CA. The draft describes this method as being &amp;ldquo;particularly suited for environments where traditional challenge methods are impractical, such as IoT deployments, multi-tenant platforms, and scenarios requiring batch certificate operations&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="dns-01-proves-control-repeatedly"&gt;DNS-01 Proves Control Repeatedly&lt;/h2&gt;
&lt;p&gt;With DNS-01, validation relies on a one-time token generated by us. Your ACME client publishes a TXT record containing that token at &lt;code&gt;_acme-challenge.&amp;lt;YOUR_DOMAIN&amp;gt;&lt;/code&gt;, and we query DNS to confirm that it matches the expected value. Because each authorization requires a new token, DNS updates become part of the issuance workflow. The benefit is that each successful validation provides fresh proof that you currently control DNS for the name being issued.&lt;/p&gt;
&lt;p&gt;In practice, this often means DNS API credentials live somewhere in your issuance pipeline, validation attempts involve waiting for DNS propagation, and DNS changes happen frequently — sometimes many times per day in large deployments. Many subscribers accept these tradeoffs, but others would prefer to keep DNS updates and sensitive credentials out of their issuance path.&lt;/p&gt;
&lt;h2 id="dns-persist-01-authorizes-persistently"&gt;DNS-PERSIST-01 Authorizes Persistently&lt;/h2&gt;
&lt;p&gt;DNS-PERSIST-01 approaches validation differently. Instead of publishing a new challenge record for each issuance, you publish a standing authorization in the form of a TXT record that identifies both the CA and the specific ACME account you authorize to issue for this domain.&lt;/p&gt;
&lt;p&gt;For the hostname example.com, the record would live at &lt;code&gt;_validation-persist.example.com&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="chroma" tabindex="0"&gt;&lt;code class="language-dns"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="py"&gt;_validation-persist.example.com. &lt;/span&gt;&lt;span class="k"&gt;IN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TXT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="nc"&gt;letsencrypt.org&lt;/span&gt;&lt;span class="c"&gt;;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;accounturi=https://&lt;/span&gt;&lt;span class="nc"&gt;acme-v02.api.letsencrypt.org&lt;/span&gt;&lt;span class="err"&gt;/acme/acct/&lt;/span&gt;&lt;span class="sc"&gt;1234567890&lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Once this record exists, it can be reused for new issuance and all subsequent renewals. Operationally, this removes DNS changes from the critical path.&lt;/p&gt;
&lt;h2 id="security-and-operational-tradeoffs"&gt;Security and Operational Tradeoffs&lt;/h2&gt;
&lt;p&gt;With DNS-01, the sensitive asset is DNS write access. In many deployments, DNS API credentials are distributed throughout issuance and renewal pipelines, increasing the number of places an attacker might compromise them. DNS-PERSIST-01 instead binds authorization directly to an ACME account, allowing DNS write access to remain more tightly controlled after initial setup. The tradeoff is that, because the authorization record persists over time, protecting the ACME account key becomes the central concern.&lt;/p&gt;
&lt;h2 id="controlling-scope-and-lifetime"&gt;Controlling Scope and Lifetime&lt;/h2&gt;
&lt;p&gt;DNS-PERSIST-01 also introduces explicit scope controls. Without additional parameters, authorization applies only to the validated Fully Qualified Domain Name (FQDN) and remains valid indefinitely.&lt;/p&gt;
&lt;h3 id="wildcard-certificates"&gt;Wildcard Certificates&lt;/h3&gt;
&lt;p&gt;Adding policy=wildcard broadens the authorization scope to include the validated FQDN, wildcard certificates such as &lt;code&gt;*.example.com&lt;/code&gt;, and subdomains whose suffix matches the validated FQDN:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="chroma" tabindex="0"&gt;&lt;code class="language-dns"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="py"&gt;_validation-persist.example.com. &lt;/span&gt;&lt;span class="k"&gt;IN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TXT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="nc"&gt;letsencrypt.org&lt;/span&gt;&lt;span class="c"&gt;;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;accounturi=https://&lt;/span&gt;&lt;span class="nc"&gt;acme-v02.api.letsencrypt.org&lt;/span&gt;&lt;span class="err"&gt;/acme/acct/&lt;/span&gt;&lt;span class="sc"&gt;1234567890&lt;/span&gt;&lt;span class="c"&gt;;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;policy=wildcard"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="optional-expiration"&gt;Optional Expiration&lt;/h3&gt;
&lt;p&gt;Subscribers who aren&amp;rsquo;t comfortable with authorization persisting indefinitely can include an optional &lt;code&gt;persistUntil&lt;/code&gt; timestamp. This limits how long the record may be used for new validations, but also means it must be updated or replaced before it expires. Anyone using this feature should ensure they have adequate reminders or monitoring in place so that authorization does not expire unexpectedly. The timestamp is expressed as UTC seconds since 1970-01-01:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="chroma" tabindex="0"&gt;&lt;code class="language-dns"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="py"&gt;_validation-persist.example.com. &lt;/span&gt;&lt;span class="k"&gt;IN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TXT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="nc"&gt;letsencrypt.org&lt;/span&gt;&lt;span class="c"&gt;;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;accounturi=https://&lt;/span&gt;&lt;span class="nc"&gt;acme-v02.api.letsencrypt.org&lt;/span&gt;&lt;span class="err"&gt;/acme/acct/&lt;/span&gt;&lt;span class="sc"&gt;1234567890&lt;/span&gt;&lt;span class="c"&gt;;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;persistUntil=&lt;/span&gt;&lt;span class="sc"&gt;1767225600&lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="authorizing-multiple-cas"&gt;Authorizing Multiple CAs&lt;/h3&gt;
&lt;p&gt;Multiple CAs can be simultaneously authorized by publishing multiple TXT records at &lt;code&gt;_validation-persist.&amp;lt;YOUR_DOMAIN&amp;gt;&lt;/code&gt;, each containing the issuer-domain-name of the CA you intend to authorize. During validation, each CA queries the same DNS label and evaluates only the records that match its own issuer-domain-name.&lt;/p&gt;
&lt;h2 id="rollout-timeline"&gt;Rollout Timeline&lt;/h2&gt;
&lt;p&gt;The CA/Browser Forum ballot &lt;a href="https://cabforum.org/2025/10/09/ballot-sc-088v3-dns-txt-record-with-persistent-value-dcv-method"&gt;SC-088v3&lt;/a&gt;, defining &amp;ldquo;3.2.2.4.22 DNS TXT Record with Persistent Value&amp;rdquo;, passed unanimously in October 2025, and the IETF ACME working group adopted the draft that same month. While the document remains an active IETF draft, the core mechanisms described here are not expected to change substantially.&lt;/p&gt;
&lt;p&gt;Support for the draft specification is available now in &lt;a href="https://github.com/letsencrypt/pebble"&gt;Pebble&lt;/a&gt;, a miniature version of &lt;a href="https://github.com/letsencrypt/boulder"&gt;Boulder&lt;/a&gt;, our production CA software. Work is also in progress on a &lt;a href="https://go-acme.github.io/lego/usage/cli/"&gt;lego-cli&lt;/a&gt; client implementation to make it easier for subscribers to experiment with and adopt. Staging rollout is planned for late Q1 2026, with a production rollout targeted for some time in Q2 2026.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2026/02/18/dns-persist-01.html"/>
    <summary type="html">&lt;p&gt;When you request a certificate from Let&amp;rsquo;s Encrypt, our servers validate that you control the hostnames in that certificate using &lt;a href="https://letsencrypt.org/docs/challenge-types/"&gt;ACME challenges&lt;/a&gt;. For subscribers who need wildcard certificates or who prefer not to expose infrastructure to the public Internet, the DNS-01 challenge type has long been the only choice. DNS-01 works well. It is widely supported and battle-tested, but it comes with operational costs: DNS propagation delays, recurring DNS updates at renewal time, and automation that often requires distributing DNS credentials throughout your infrastructure.&lt;/p&gt;
&lt;p&gt;We are implementing support for a new ACME challenge type, DNS-PERSIST-01, based on a new &lt;a href="https://datatracker.ietf.org/doc/html/draft-ietf-acme-dns-persist-00"&gt;IETF draft specification&lt;/a&gt;. As the name implies, it uses DNS as the validation mechanism, but replaces repeated demonstrations of control with a persistent authorization record bound to a specific ACME account and CA. The draft describes this method as being &amp;ldquo;particularly suited for environments where traditional challenge methods are impractical, such as IoT deployments, multi-tenant platforms, and scenarios requiring batch certificate operations&amp;rdquo;.&lt;/p&gt;
&lt;h2 id="dns-01-proves-control-repeatedly"&gt;DNS-01 Proves Control Repeatedly&lt;/h2&gt;
&lt;p&gt;With DNS-01, validation relies on a one-time token generated by us. Your ACME client publishes a TXT record containing that token at &lt;code&gt;_acme-challenge.&amp;lt;YOUR_DOMAIN&amp;gt;&lt;/code&gt;, and we query DNS to confirm that it matches the expected value. Because each authorization requires a new token, DNS updates become part of the issuance workflow. The benefit is that each successful validation provides fresh proof that you currently control DNS for the name being issued.&lt;/p&gt;
&lt;p&gt;In practice, this often means DNS API credentials live somewhere in your issuance pipeline, validation attempts involve waiting for DNS propagation, and DNS changes happen frequently — sometimes many times per day in large deployments. Many subscribers accept these tradeoffs, but others would prefer to keep DNS updates and sensitive credentials out of their issuance path.&lt;/p&gt;
&lt;h2 id="dns-persist-01-authorizes-persistently"&gt;DNS-PERSIST-01 Authorizes Persistently&lt;/h2&gt;
&lt;p&gt;DNS-PERSIST-01 approaches validation differently. Instead of publishing a new challenge record for each issuance, you publish a standing authorization in the form of a TXT record that identifies both the CA and the specific ACME account you authorize to issue for this domain.&lt;/p&gt;
&lt;p&gt;For the hostname example.com, the record would live at &lt;code&gt;_validation-persist.example.com&lt;/code&gt;:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="chroma" tabindex="0"&gt;&lt;code class="language-dns"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="py"&gt;_validation-persist.example.com. &lt;/span&gt;&lt;span class="k"&gt;IN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TXT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="nc"&gt;letsencrypt.org&lt;/span&gt;&lt;span class="c"&gt;;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;accounturi=https://&lt;/span&gt;&lt;span class="nc"&gt;acme-v02.api.letsencrypt.org&lt;/span&gt;&lt;span class="err"&gt;/acme/acct/&lt;/span&gt;&lt;span class="sc"&gt;1234567890&lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Once this record exists, it can be reused for new issuance and all subsequent renewals. Operationally, this removes DNS changes from the critical path.&lt;/p&gt;
&lt;h2 id="security-and-operational-tradeoffs"&gt;Security and Operational Tradeoffs&lt;/h2&gt;
&lt;p&gt;With DNS-01, the sensitive asset is DNS write access. In many deployments, DNS API credentials are distributed throughout issuance and renewal pipelines, increasing the number of places an attacker might compromise them. DNS-PERSIST-01 instead binds authorization directly to an ACME account, allowing DNS write access to remain more tightly controlled after initial setup. The tradeoff is that, because the authorization record persists over time, protecting the ACME account key becomes the central concern.&lt;/p&gt;
&lt;h2 id="controlling-scope-and-lifetime"&gt;Controlling Scope and Lifetime&lt;/h2&gt;
&lt;p&gt;DNS-PERSIST-01 also introduces explicit scope controls. Without additional parameters, authorization applies only to the validated Fully Qualified Domain Name (FQDN) and remains valid indefinitely.&lt;/p&gt;
&lt;h3 id="wildcard-certificates"&gt;Wildcard Certificates&lt;/h3&gt;
&lt;p&gt;Adding policy=wildcard broadens the authorization scope to include the validated FQDN, wildcard certificates such as &lt;code&gt;*.example.com&lt;/code&gt;, and subdomains whose suffix matches the validated FQDN:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="chroma" tabindex="0"&gt;&lt;code class="language-dns"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="py"&gt;_validation-persist.example.com. &lt;/span&gt;&lt;span class="k"&gt;IN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TXT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="nc"&gt;letsencrypt.org&lt;/span&gt;&lt;span class="c"&gt;;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;accounturi=https://&lt;/span&gt;&lt;span class="nc"&gt;acme-v02.api.letsencrypt.org&lt;/span&gt;&lt;span class="err"&gt;/acme/acct/&lt;/span&gt;&lt;span class="sc"&gt;1234567890&lt;/span&gt;&lt;span class="c"&gt;;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;policy=wildcard"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="optional-expiration"&gt;Optional Expiration&lt;/h3&gt;
&lt;p&gt;Subscribers who aren&amp;rsquo;t comfortable with authorization persisting indefinitely can include an optional &lt;code&gt;persistUntil&lt;/code&gt; timestamp. This limits how long the record may be used for new validations, but also means it must be updated or replaced before it expires. Anyone using this feature should ensure they have adequate reminders or monitoring in place so that authorization does not expire unexpectedly. The timestamp is expressed as UTC seconds since 1970-01-01:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre class="chroma" tabindex="0"&gt;&lt;code class="language-dns"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="py"&gt;_validation-persist.example.com. &lt;/span&gt;&lt;span class="k"&gt;IN&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;TXT&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="nc"&gt;letsencrypt.org&lt;/span&gt;&lt;span class="c"&gt;;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;accounturi=https://&lt;/span&gt;&lt;span class="nc"&gt;acme-v02.api.letsencrypt.org&lt;/span&gt;&lt;span class="err"&gt;/acme/acct/&lt;/span&gt;&lt;span class="sc"&gt;1234567890&lt;/span&gt;&lt;span class="c"&gt;;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="err"&gt;persistUntil=&lt;/span&gt;&lt;span class="sc"&gt;1767225600&lt;/span&gt;&lt;span class="err"&gt;"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="w"&gt;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id="authorizing-multiple-cas"&gt;Authorizing Multiple CAs&lt;/h3&gt;
&lt;p&gt;Multiple CAs can be simultaneously authorized by publishing multiple TXT records at &lt;code&gt;_validation-persist.&amp;lt;YOUR_DOMAIN&amp;gt;&lt;/code&gt;, each containing the issuer-domain-name of the CA you intend to authorize. During validation, each CA queries the same DNS label and evaluates only the records that match its own issuer-domain-name.&lt;/p&gt;
&lt;h2 id="rollout-timeline"&gt;Rollout Timeline&lt;/h2&gt;
&lt;p&gt;The CA/Browser Forum ballot &lt;a href="https://cabforum.org/2025/10/09/ballot-sc-088v3-dns-txt-record-with-persistent-value-dcv-method"&gt;SC-088v3&lt;/a&gt;, defining &amp;ldquo;3.2.2.4.22 DNS TXT Record with Persistent Value&amp;rdquo;, passed unanimously in October 2025, and the IETF ACME working group adopted the draft that same month. While the document remains an active IETF draft, the core mechanisms described here are not expected to change substantially.&lt;/p&gt;
&lt;p&gt;Support for the draft specification is available now in &lt;a href="https://github.com/letsencrypt/pebble"&gt;Pebble&lt;/a&gt;, a miniature version of &lt;a href="https://github.com/letsencrypt/boulder"&gt;Boulder&lt;/a&gt;, our production CA software. Work is also in progress on a &lt;a href="https://go-acme.github.io/lego/usage/cli/"&gt;lego-cli&lt;/a&gt; client implementation to make it easier for subscribers to experiment with and adopt. Staging rollout is planned for late Q1 2026, with a production rollout targeted for some time in Q2 2026.&lt;/p&gt;</summary>
    <published>2026-02-17T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2026/02/05/fosdem2026.html</id>
    <title>On the Importance of "Hello" and "Thanks"</title>
    <updated>2026-02-04T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;figure class="card border-0 pic-quote-right"&gt;
&lt;img alt="The ISRG team at FOSDEM 2026" class="mx-auto img-fluid" src="https://letsencrypt.org/images/blog/FOSDEM26-team.jpg" /&gt;
&lt;/figure&gt;
&lt;p&gt;In a recent conversation with a Let&amp;rsquo;s Encrypt subscriber, we asked them to guess how many people work at ISRG, the nonprofit behind Let&amp;rsquo;s Encrypt (and Prossimo and Divvi Up). Their guess was about 100; they&amp;rsquo;d overestimated by 72.5 people. We&amp;rsquo;re a pretty small team, and we get a lot done, but most of that work is entirely remote, distributed, and automated. &lt;/p&gt;
&lt;p&gt;That is a big part of what makes FOSDEM special. For the last few years, we&amp;rsquo;ve had a stand at this annual conference in Belgium, where a few folks from our team have the opportunity to speak directly with thousands of conference-goers. We continue to learn so much from these conversations! &lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s where the &amp;ldquo;Hello&amp;rdquo; part of this blog post comes in. At this year&amp;rsquo;s FOSDEM, we met so many Let&amp;rsquo;s Encrypt subscribers, and each of them has a unique relationship to Let&amp;rsquo;s Encrypt. We were pleasantly surprised by how many people told us they were using &lt;a href="https://letsencrypt.org/2026/01/15/6day-and-ip-general-availability"&gt;IP-address certificates&lt;/a&gt;, a new option we just made generally available in January. We had a lot of conversations about our plans to &lt;a href="https://letsencrypt.org/2025/12/02/from-90-to-45"&gt;shorten certificate lifetimes&lt;/a&gt;. There were a few folks who asked about S/MIME (&lt;a href="https://community.letsencrypt.org/t/s-mime-certificates/153/24"&gt;still no plans to do that&lt;/a&gt;). We invited people to continue to stay in touch by signing up for our &lt;a href="https://www.abetterinternet.org/newsletter/"&gt;newsletter&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;The most meaningful part of FOSDEM is being able to say &amp;ldquo;thank you&amp;rdquo;. Our goal in starting Let&amp;rsquo;s Encrypt was to improve security and privacy for people using the Internet, but that could not be achieved without the now millions of folks who decided to get a certificate. Our impact is predicated on this symbiotic exchange. While we were only able to directly express our gratitude to a few thousand people at FOSDEM, it was a reminder of how important the community is.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2026/02/05/fosdem2026.html"/>
    <summary type="html">&lt;figure class="card border-0 pic-quote-right"&gt;
&lt;img alt="The ISRG team at FOSDEM 2026" class="mx-auto img-fluid" src="https://letsencrypt.org/images/blog/FOSDEM26-team.jpg" /&gt;
&lt;/figure&gt;
&lt;p&gt;In a recent conversation with a Let&amp;rsquo;s Encrypt subscriber, we asked them to guess how many people work at ISRG, the nonprofit behind Let&amp;rsquo;s Encrypt (and Prossimo and Divvi Up). Their guess was about 100; they&amp;rsquo;d overestimated by 72.5 people. We&amp;rsquo;re a pretty small team, and we get a lot done, but most of that work is entirely remote, distributed, and automated. &lt;/p&gt;
&lt;p&gt;That is a big part of what makes FOSDEM special. For the last few years, we&amp;rsquo;ve had a stand at this annual conference in Belgium, where a few folks from our team have the opportunity to speak directly with thousands of conference-goers. We continue to learn so much from these conversations! &lt;/p&gt;
&lt;p&gt;That&amp;rsquo;s where the &amp;ldquo;Hello&amp;rdquo; part of this blog post comes in. At this year&amp;rsquo;s FOSDEM, we met so many Let&amp;rsquo;s Encrypt subscribers, and each of them has a unique relationship to Let&amp;rsquo;s Encrypt. We were pleasantly surprised by how many people told us they were using &lt;a href="https://letsencrypt.org/2026/01/15/6day-and-ip-general-availability"&gt;IP-address certificates&lt;/a&gt;, a new option we just made generally available in January. We had a lot of conversations about our plans to &lt;a href="https://letsencrypt.org/2025/12/02/from-90-to-45"&gt;shorten certificate lifetimes&lt;/a&gt;. There were a few folks who asked about S/MIME (&lt;a href="https://community.letsencrypt.org/t/s-mime-certificates/153/24"&gt;still no plans to do that&lt;/a&gt;). We invited people to continue to stay in touch by signing up for our &lt;a href="https://www.abetterinternet.org/newsletter/"&gt;newsletter&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;The most meaningful part of FOSDEM is being able to say &amp;ldquo;thank you&amp;rdquo;. Our goal in starting Let&amp;rsquo;s Encrypt was to improve security and privacy for people using the Internet, but that could not be achieved without the now millions of folks who decided to get a certificate. Our impact is predicated on this symbiotic exchange. While we were only able to directly express our gratitude to a few thousand people at FOSDEM, it was a reminder of how important the community is.&lt;/p&gt;</summary>
    <published>2026-02-04T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2026/01/15/6day-and-ip-general-availability.html</id>
    <title>6-day and IP Address Certificates are Generally Available</title>
    <updated>2026-01-14T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Update: March 11, 2026&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you use Certbot, see &lt;a href="https://letsencrypt.org/2026/03/11/shorter-certs-certbot"&gt;Six-Day and IP Address Certificates Available in Certbot&lt;/a&gt; for details on requesting these certificates.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Short-lived and IP address certificates are now generally available from Let&amp;rsquo;s Encrypt. These certificates are valid for 160 hours, just over six days. In order to get a short-lived certificate subscribers simply need to select the &amp;lsquo;shortlived&amp;rsquo; &lt;a href="https://letsencrypt.org/docs/profiles/"&gt;certificate profile&lt;/a&gt; in their ACME client.&lt;/p&gt;
&lt;p&gt;Short-lived certificates improve security by requiring more frequent validation and reducing reliance on unreliable revocation mechanisms. If a certificate&amp;rsquo;s private key is exposed or compromised, revocation has historically been the way to mitigate damage prior to the certificate&amp;rsquo;s expiration. Unfortunately, revocation is an unreliable system so many relying parties continue to be vulnerable until the certificate expires, a period as long as 90 days. With short-lived certificates that vulnerability window is greatly reduced.&lt;/p&gt;
&lt;p&gt;Short-lived certificates are opt-in and we have no plan to make them the default at this time. Subscribers that have fully automated their renewal process should be able to switch to short-lived certificates easily if they wish, but we understand that not everyone is in that position and generally comfortable with this significantly shorter lifetime. We hope that over time everyone moves to automated solutions and we can demonstrate that short-lived certificates work well.&lt;/p&gt;
&lt;p&gt;Our default certificate lifetimes will be going from 90 days down to 45 days over the next few years, &lt;a href="https://letsencrypt.org/2025/12/02/from-90-to-45"&gt;as previously announced&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;IP address certificates allow server operators to authenticate TLS connections to IP addresses rather than domain names. Let&amp;rsquo;s Encrypt supports both IPv4 and IPv6. IP address certificates must be short-lived certificates, a decision we made because IP addresses are more transient than domain names, so validating more frequently is important. You can learn more about our IP address certificates and the use cases for them from our &lt;a href="https://letsencrypt.org/2025/07/01/issuing-our-first-ip-address-certificate"&gt;post announcing our first IP Certificate&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;d like to thank the Open Technology Fund and Sovereign Tech Agency, along with our &lt;a href="https://www.abetterinternet.org/sponsors/"&gt;Sponsors&lt;/a&gt; and Donors, for supporting the development of this work.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2026/01/15/6day-and-ip-general-availability.html"/>
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Update: March 11, 2026&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If you use Certbot, see &lt;a href="https://letsencrypt.org/2026/03/11/shorter-certs-certbot"&gt;Six-Day and IP Address Certificates Available in Certbot&lt;/a&gt; for details on requesting these certificates.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Short-lived and IP address certificates are now generally available from Let&amp;rsquo;s Encrypt. These certificates are valid for 160 hours, just over six days. In order to get a short-lived certificate subscribers simply need to select the &amp;lsquo;shortlived&amp;rsquo; &lt;a href="https://letsencrypt.org/docs/profiles/"&gt;certificate profile&lt;/a&gt; in their ACME client.&lt;/p&gt;
&lt;p&gt;Short-lived certificates improve security by requiring more frequent validation and reducing reliance on unreliable revocation mechanisms. If a certificate&amp;rsquo;s private key is exposed or compromised, revocation has historically been the way to mitigate damage prior to the certificate&amp;rsquo;s expiration. Unfortunately, revocation is an unreliable system so many relying parties continue to be vulnerable until the certificate expires, a period as long as 90 days. With short-lived certificates that vulnerability window is greatly reduced.&lt;/p&gt;
&lt;p&gt;Short-lived certificates are opt-in and we have no plan to make them the default at this time. Subscribers that have fully automated their renewal process should be able to switch to short-lived certificates easily if they wish, but we understand that not everyone is in that position and generally comfortable with this significantly shorter lifetime. We hope that over time everyone moves to automated solutions and we can demonstrate that short-lived certificates work well.&lt;/p&gt;
&lt;p&gt;Our default certificate lifetimes will be going from 90 days down to 45 days over the next few years, &lt;a href="https://letsencrypt.org/2025/12/02/from-90-to-45"&gt;as previously announced&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;IP address certificates allow server operators to authenticate TLS connections to IP addresses rather than domain names. Let&amp;rsquo;s Encrypt supports both IPv4 and IPv6. IP address certificates must be short-lived certificates, a decision we made because IP addresses are more transient than domain names, so validating more frequently is important. You can learn more about our IP address certificates and the use cases for them from our &lt;a href="https://letsencrypt.org/2025/07/01/issuing-our-first-ip-address-certificate"&gt;post announcing our first IP Certificate&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;d like to thank the Open Technology Fund and Sovereign Tech Agency, along with our &lt;a href="https://www.abetterinternet.org/sponsors/"&gt;Sponsors&lt;/a&gt; and Donors, for supporting the development of this work.&lt;/p&gt;</summary>
    <published>2026-01-14T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2025/12/29/eoy-letter-2025.html</id>
    <title>A Note from our Executive Director</title>
    <updated>2025-12-28T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;div class="card border-0 pic-quote-right"&gt;
    &lt;img alt="Josh Aas" class="mx-auto img-fluid" src="https://letsencrypt.org/images/blog/Josh-Aas-Headshot.jpg" /&gt;
&lt;/div&gt;
&lt;p&gt;This letter was originally published in our &lt;a href="https://www.abetterinternet.org/documents/2025-ISRG-Annual-Report.pdf"&gt;2025 Annual Report&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This year was the 10th anniversary of Let&amp;rsquo;s Encrypt. We&amp;rsquo;ve come a long way! Today we&amp;rsquo;re serving more than 700 million websites, issuing ten million certificates on some days. Most importantly, when we started 39% of page loads on the Internet were encrypted. Today, in many parts of the world, over 95% of all page loads are encrypted. We can&amp;rsquo;t claim all the credit for that, but we&amp;rsquo;re proud of the leading role we played. Being able to help ISRG and Let&amp;rsquo;s Encrypt get to where we are today has been the opportunity of a lifetime for me.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s more I could talk about from the past ten years, but this 10th year was about as good as any before it so I want to focus on our most recent work. I&amp;rsquo;ll get the headline for 2025 out right away: over the past year we went from serving 492 million websites to 762 million. That&amp;rsquo;s a 50% increase in a single year, equivalent to the growth we saw over our first six years of existence combined. Our staff did an amazing job accommodating the additional traffic.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m also particularly proud of the things we did to improve privacy this year, across all of our projects.&lt;/p&gt;
&lt;p&gt;At the start of 2025 we were serving over four billion Online Certificate Status Protocol (OCSP) requests per day. That&amp;rsquo;s 180 million per hour, or 50,000 per second. OCSP has been an important mechanism for providing certificate revocation information for a long time, but the way it works is bad for privacy. It requires browsers to check with certificate authorities for every website they visit, which is basically providing your browsing history to third parties. Let&amp;rsquo;s Encrypt never held onto that data; it got dropped immediately. However, there is no way to know if that was standard practice across the industry, and even well-intentioned CAs could make a mistake or be compelled to save that data. It was a system ripe for abuse, so we decided to become the first major CA to turn off our OCSP service. We couldn&amp;rsquo;t be sure what the full impact would be, but this was a way in which the Internet needed to get better. In August of 2025 we turned off our OCSP service. There was no major fallout and we haven&amp;rsquo;t looked back.&lt;/p&gt;
&lt;p&gt;Another big privacy-focused change we made to Let&amp;rsquo;s Encrypt in 2025 was no longer storing subscriber email addresses in our CA database, associated with issuance data. In June of this year we stopped adding the optional email addresses that subscribers send to our database, and we deleted the millions of email addresses that had accumulated over the years. Making this change was not an easy thing to decide to do—it limits our ability to contact subscribers and we had to turn off our expiration reminder email service—but we feel the ecosystem has grown enough over the past ten years that the privacy implications of holding onto the email addresses outweighed the utility.&lt;/p&gt;
&lt;p&gt;Privacy was at the forefront for the folks at ISRG researching human digital identity as well. They have been hard at work on an implementation of the Anonymous Credentials from ECDSA scheme, also known as &lt;a href="https://datatracker.ietf.org/doc/draft-google-cfrg-libzk/"&gt;Longfellow&lt;/a&gt;. This is a cryptographic library that can be used in digital identity management, including things like digital wallets, in order to improve privacy when sharing credentials. Digital identity systems should have strong privacy and compatibility requirements, but such requirements pose challenges that existing digital credential technologies are going to struggle to meet. New schemes such as Longfellow aim to address these challenges, bringing privacy improvements to systems that need to work with existing cryptographic hardware. This is exciting stuff, but not easy to build (so much math!)—watching our talented engineers make progress has been thrilling.&lt;/p&gt;
&lt;p&gt;The last example of great privacy work I want to highlight from 2025 is our Prossimo project&amp;rsquo;s work towards encrypted recursive-to-authoritative DNS. Prossimo is focused on bringing memory safety to critical software infrastructure, but sometimes that dovetails nicely with other initiatives. DNS queries are fundamental to the operation of the Internet. Without getting into the details here too much, there are basically two types of DNS queries: stub-to-recursive and recursive-to-authoritative. A lot of work has gone into encrypting stub queries over the past decade, mostly through DNS over HTTPS (DoH) initiatives. Authoritative queries, however, remain almost entirely unencrypted. This is a particular problem for Certificate Authorities like Let&amp;rsquo;s Encrypt. During 2025, our Prossimo project started work on changing that, investing heavily in encrypted authoritative resolution by implementing &lt;a href="https://datatracker.ietf.org/doc/rfc9539/"&gt;RFC 9539&lt;/a&gt; Unilateral Opportunistic Deployment of Encrypted Recursive‑to‑Authoritative DNS and other related improvements in Hickory DNS. Once this is ready, early in 2026, Hickory DNS will be a high performance and memory safe option that DNS operators can use to start making and receiving encrypted authoritative DNS queries. It can also be used for integration testing with other DNS implementations.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s wonderful, and a real responsibility, to be able to have this kind of positive impact on the lives of everyone using the Internet. Charitable contributions from people like you and organizations around the world make what we do possible. We are particularly grateful to Jeff Atwood, Betsy Burton, and Stina Ehrensvärd for their special gifts this year. Since 2015, tens of thousands of people have donated. They&amp;rsquo;ve made a case for corporate sponsorship, given through their DAFs, or set up recurring donations. If you&amp;rsquo;re one of those people, thank you. If you&amp;rsquo;re considering becoming a supporter, I hope this annual report will make the case that we&amp;rsquo;re making every dollar count.&lt;/p&gt;
&lt;p&gt;Every year we aim to make the dollars entrusted to us go as far as possible, and next year will be no exception.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2025/12/29/eoy-letter-2025.html"/>
    <summary type="html">&lt;div class="card border-0 pic-quote-right"&gt;
    &lt;img alt="Josh Aas" class="mx-auto img-fluid" src="https://letsencrypt.org/images/blog/Josh-Aas-Headshot.jpg" /&gt;
&lt;/div&gt;
&lt;p&gt;This letter was originally published in our &lt;a href="https://www.abetterinternet.org/documents/2025-ISRG-Annual-Report.pdf"&gt;2025 Annual Report&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This year was the 10th anniversary of Let&amp;rsquo;s Encrypt. We&amp;rsquo;ve come a long way! Today we&amp;rsquo;re serving more than 700 million websites, issuing ten million certificates on some days. Most importantly, when we started 39% of page loads on the Internet were encrypted. Today, in many parts of the world, over 95% of all page loads are encrypted. We can&amp;rsquo;t claim all the credit for that, but we&amp;rsquo;re proud of the leading role we played. Being able to help ISRG and Let&amp;rsquo;s Encrypt get to where we are today has been the opportunity of a lifetime for me.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s more I could talk about from the past ten years, but this 10th year was about as good as any before it so I want to focus on our most recent work. I&amp;rsquo;ll get the headline for 2025 out right away: over the past year we went from serving 492 million websites to 762 million. That&amp;rsquo;s a 50% increase in a single year, equivalent to the growth we saw over our first six years of existence combined. Our staff did an amazing job accommodating the additional traffic.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m also particularly proud of the things we did to improve privacy this year, across all of our projects.&lt;/p&gt;
&lt;p&gt;At the start of 2025 we were serving over four billion Online Certificate Status Protocol (OCSP) requests per day. That&amp;rsquo;s 180 million per hour, or 50,000 per second. OCSP has been an important mechanism for providing certificate revocation information for a long time, but the way it works is bad for privacy. It requires browsers to check with certificate authorities for every website they visit, which is basically providing your browsing history to third parties. Let&amp;rsquo;s Encrypt never held onto that data; it got dropped immediately. However, there is no way to know if that was standard practice across the industry, and even well-intentioned CAs could make a mistake or be compelled to save that data. It was a system ripe for abuse, so we decided to become the first major CA to turn off our OCSP service. We couldn&amp;rsquo;t be sure what the full impact would be, but this was a way in which the Internet needed to get better. In August of 2025 we turned off our OCSP service. There was no major fallout and we haven&amp;rsquo;t looked back.&lt;/p&gt;
&lt;p&gt;Another big privacy-focused change we made to Let&amp;rsquo;s Encrypt in 2025 was no longer storing subscriber email addresses in our CA database, associated with issuance data. In June of this year we stopped adding the optional email addresses that subscribers send to our database, and we deleted the millions of email addresses that had accumulated over the years. Making this change was not an easy thing to decide to do—it limits our ability to contact subscribers and we had to turn off our expiration reminder email service—but we feel the ecosystem has grown enough over the past ten years that the privacy implications of holding onto the email addresses outweighed the utility.&lt;/p&gt;
&lt;p&gt;Privacy was at the forefront for the folks at ISRG researching human digital identity as well. They have been hard at work on an implementation of the Anonymous Credentials from ECDSA scheme, also known as &lt;a href="https://datatracker.ietf.org/doc/draft-google-cfrg-libzk/"&gt;Longfellow&lt;/a&gt;. This is a cryptographic library that can be used in digital identity management, including things like digital wallets, in order to improve privacy when sharing credentials. Digital identity systems should have strong privacy and compatibility requirements, but such requirements pose challenges that existing digital credential technologies are going to struggle to meet. New schemes such as Longfellow aim to address these challenges, bringing privacy improvements to systems that need to work with existing cryptographic hardware. This is exciting stuff, but not easy to build (so much math!)—watching our talented engineers make progress has been thrilling.&lt;/p&gt;
&lt;p&gt;The last example of great privacy work I want to highlight from 2025 is our Prossimo project&amp;rsquo;s work towards encrypted recursive-to-authoritative DNS. Prossimo is focused on bringing memory safety to critical software infrastructure, but sometimes that dovetails nicely with other initiatives. DNS queries are fundamental to the operation of the Internet. Without getting into the details here too much, there are basically two types of DNS queries: stub-to-recursive and recursive-to-authoritative. A lot of work has gone into encrypting stub queries over the past decade, mostly through DNS over HTTPS (DoH) initiatives. Authoritative queries, however, remain almost entirely unencrypted. This is a particular problem for Certificate Authorities like Let&amp;rsquo;s Encrypt. During 2025, our Prossimo project started work on changing that, investing heavily in encrypted authoritative resolution by implementing &lt;a href="https://datatracker.ietf.org/doc/rfc9539/"&gt;RFC 9539&lt;/a&gt; Unilateral Opportunistic Deployment of Encrypted Recursive‑to‑Authoritative DNS and other related improvements in Hickory DNS. Once this is ready, early in 2026, Hickory DNS will be a high performance and memory safe option that DNS operators can use to start making and receiving encrypted authoritative DNS queries. It can also be used for integration testing with other DNS implementations.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s wonderful, and a real responsibility, to be able to have this kind of positive impact on the lives of everyone using the Internet. Charitable contributions from people like you and organizations around the world make what we do possible. We are particularly grateful to Jeff Atwood, Betsy Burton, and Stina Ehrensvärd for their special gifts this year. Since 2015, tens of thousands of people have donated. They&amp;rsquo;ve made a case for corporate sponsorship, given through their DAFs, or set up recurring donations. If you&amp;rsquo;re one of those people, thank you. If you&amp;rsquo;re considering becoming a supporter, I hope this annual report will make the case that we&amp;rsquo;re making every dollar count.&lt;/p&gt;
&lt;p&gt;Every year we aim to make the dollars entrusted to us go as far as possible, and next year will be no exception.&lt;/p&gt;</summary>
    <published>2025-12-28T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2025/12/09/10-years.html</id>
    <title>10 Years of Let's Encrypt Certificates</title>
    <updated>2025-12-08T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;p&gt;On September 14, 2015, &lt;a href="https://crt.sh/?id=9314793"&gt;our first publicly-trusted certificate&lt;/a&gt; went live. We were proud that we had issued a certificate that a significant majority of clients could accept, and had done it using &lt;a href="https://github.com/letsencrypt/boulder"&gt;automated software&lt;/a&gt;. Of course, in retrospect this was just the first of billions of certificates. Today, Let&amp;rsquo;s Encrypt is the largest certificate authority in the world in terms of certificates issued, the ACME protocol we helped create and standardize is integrated throughout the server ecosystem, and we&amp;rsquo;ve become a household name among system administrators. We&amp;rsquo;re closing in on protecting one billion web sites.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://letsencrypt.org/stats/"&gt;&lt;img alt="" src="https://letsencrypt.org/images/blog/blog-2025-12-09-chart1.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In 2023, we marked the &lt;a href="https://www.abetterinternet.org/tenth-anniversary/"&gt;tenth anniversary of the creation of our nonprofit&lt;/a&gt;, Internet Security Research Group, which continues to host Let&amp;rsquo;s Encrypt and other public benefit infrastructure projects. Now, in honor of the tenth anniversary of Let&amp;rsquo;s Encrypt&amp;rsquo;s public certificate issuance and the start of the general availability of our services, we&amp;rsquo;re looking back at a few milestones and factors that contributed to our success.&lt;/p&gt;
&lt;h2 id="growth"&gt;Growth&lt;/h2&gt;
&lt;p&gt;A conspicuous part of Let&amp;rsquo;s Encrypt&amp;rsquo;s history is how thoroughly our vision of scalability through automation has succeeded.&lt;/p&gt;
&lt;p&gt;In March 2016, we issued our one millionth certificate. Just two years later, in September 2018, we were issuing a million certificates every day. In 2020 we reached a billion total certificates issued and as of late 2025 we&amp;rsquo;re frequently issuing ten million certificates per day. We&amp;rsquo;re now on track to reach a billion active sites, probably sometime in the coming year. (The &amp;ldquo;certificates issued&amp;rdquo; and &amp;ldquo;certificates active&amp;rdquo; metrics are quite different because our certificates regularly expire and get replaced.)&lt;/p&gt;
&lt;p&gt;The steady growth of our issuance volume shows the strength of our architecture, the validity of our vision, and the great efforts of our engineering team to scale up our own infrastructure. It also reminds us of the confidence that the Internet community is placing in us, making the use of a Let&amp;rsquo;s Encrypt certificate a normal and, dare we say, boring choice. But I often point out that our ever-growing issuance volumes are only an indirect measure of value. What ultimately matters is improving the security of people&amp;rsquo;s use of the web, which, as far as Let&amp;rsquo;s Encrypt&amp;rsquo;s contribution goes, is not measured by issuance volumes so much as by the prevalence of HTTPS encryption. For that reason, we&amp;rsquo;ve always emphasized the graph of the percentage of encrypted connections that web users make (here represented by statistics from Firefox).&lt;/p&gt;
&lt;p&gt;&lt;a href="https://letsencrypt.org/stats/"&gt;&lt;img alt="" src="https://letsencrypt.org/images/blog/blog-2025-12-09-chart2.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(These graphs are snapshots as of the date of this post; a dynamically updated version is found &lt;a href="https://letsencrypt.org/stats/#percent-pageloads"&gt;on our stats page&lt;/a&gt;.) Our biggest goal was to make a concrete, measurable security impact on the web by getting HTTPS connection prevalence to increase—and it&amp;rsquo;s worked. It took five years or so to get the global percentage from below 30% to around 80%, where it&amp;rsquo;s remained ever since. In the U.S. it has been close to 95% for a while now.&lt;/p&gt;
&lt;p&gt;A good amount of the remaining unencrypted traffic probably comes from internal or private organizational sites (intranets), but other than that we don&amp;rsquo;t know much about it; this would be a great topic for Internet security researchers to look into.&lt;/p&gt;
&lt;p&gt;We believe our present growth in certificate issuance volume is essentially coming from growth in the web as a whole. In other words, if we protect 20% more sites over some time period, it&amp;rsquo;s because the web itself grew by 20%.&lt;/p&gt;
&lt;h2 id="a-few-milestones"&gt;A few milestones&lt;/h2&gt;
&lt;p&gt;We&amp;rsquo;ve &lt;a href="https://letsencrypt.org/blog/"&gt;blogged about most of Let&amp;rsquo;s Encrypt&amp;rsquo;s most significant milestones&lt;/a&gt; as they&amp;rsquo;ve happened, and I invite everyone in our community to look over those blog posts to see how far we&amp;rsquo;ve come. We&amp;rsquo;ve also &lt;a href="https://www.abetterinternet.org/annual-reports/"&gt;published annual reports for the past seven years&lt;/a&gt;, which offer elegant and concise summaries of our work.&lt;/p&gt;
&lt;p&gt;As I personally think back on the past decade, just a few of the many events that come to mind include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://letsencrypt.org/2014/11/18/announcing-lets-encrypt"&gt;Telling the world about the project&lt;/a&gt; in November 2014&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://letsencrypt.org/2015/09/14/our-first-cert"&gt;Our first certificate issuance&lt;/a&gt; in September 2015&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://letsencrypt.org/2016/03/08/our-millionth-cert"&gt;Our one millionth certificate&lt;/a&gt; in March 2016, then &lt;a href="https://letsencrypt.org/2017/06/28/hundred-million-certs"&gt;our 100 millionth certificate&lt;/a&gt; in June 2017, and then &lt;a href="https://letsencrypt.org/2020/02/27/one-billion-certs"&gt;our billionth certificate&lt;/a&gt; in 2020&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Along the way, first issuing one million certificates in a single day (in September 2018), significantly contributed to by the SquareSpace and &lt;a href="https://letsencrypt.org/2021/09/14/speed-at-scale-shopify"&gt;Shopify&lt;/a&gt; Let&amp;rsquo;s Encrypt integrations&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Just at the end of September 2025, we issued more than ten million certificates in a day for the first time.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We&amp;rsquo;ve also periodically rolled out new features such as &lt;a href="https://letsencrypt.org/2016/10/21/introducing-idn-support"&gt;internationalized domain name support&lt;/a&gt; (2016), &lt;a href="https://letsencrypt.org/2017/07/06/wildcard-certificates-coming-jan-2018"&gt;wildcard support&lt;/a&gt; (2018), and &lt;a href="https://letsencrypt.org/2025/02/20/first-short-lived-cert-issued"&gt;short-lived&lt;/a&gt; and &lt;a href="https://letsencrypt.org/2025/07/01/issuing-our-first-ip-address-certificate"&gt;IP address&lt;/a&gt; (2025) certificates. We&amp;rsquo;re always working on &lt;a href="https://letsencrypt.org/upcoming-features/"&gt;more new features&lt;/a&gt; for the future.&lt;/p&gt;
&lt;p&gt;There are many technical milestones like &lt;a href="https://letsencrypt.org/2021/01/21/next-gen-database-servers"&gt;our database server upgrades&lt;/a&gt; in 2021, where we found we needed a serious server infrastructure boost because of the tremendous volumes of data we were dealing with. Similarly, our original infrastructure was using Gigabit Ethernet internally, and, with the growth of our issuance volume and logging, we found that our Gigabit Ethernet network eventually became too slow to synchronize database instances! (Today we&amp;rsquo;re using 25-gig Ethernet.) More recently, we&amp;rsquo;ve &lt;a href="https://letsencrypt.org/2025/06/11/reflections-on-a-year-of-sunlight"&gt;experimented with architectural upgrades&lt;/a&gt; to our ever-growing Certificate Transparency logs, and &lt;a href="https://letsencrypt.org/2025/08/14/rfc-6962-logs-eol"&gt;decided to go ahead with deploying those upgrades&lt;/a&gt;—to help us not just keep up with, but get ahead of, our continuing growth.&lt;/p&gt;
&lt;p&gt;These kinds of growing pains and successful responses to them are nice to remember because they point to the inexorable increase in demands on our infrastructure as we&amp;rsquo;ve become a more and more essential part of the Internet. I&amp;rsquo;m proud of our technical teams which have handled those increased demands capably and professionally.&lt;/p&gt;
&lt;p&gt;I also recall the ongoing work involved in &lt;a href="https://letsencrypt.org/2018/08/06/trusted-by-all-major-root-programs"&gt;making sure our certificates would be as widely accepted as possible&lt;/a&gt;, which has meant managing the original cross-signature from IdenTrust, and &lt;a href="https://letsencrypt.org/2020/11/06/own-two-feet"&gt;subsequently creating and propagating our own root CA certificates&lt;/a&gt;. This process has required PKI engineering, key ceremonies, root program interactions, documentation, and community support associated with certificate migrations. Most users never have reason to look behind the scenes at &lt;a href="https://letsencrypt.org/certificates/"&gt;our chains of trust&lt;/a&gt;, but our engineers update it as root and intermediate certificates have been replaced. We&amp;rsquo;ve engaged at the &lt;a href="https://cabforum.org/"&gt;CA/B Forum&lt;/a&gt;, &lt;a href="https://www.ietf.org/"&gt;IETF&lt;/a&gt;, and in other venues with the browser root programs to help shape the web PKI as a technical leader.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://letsencrypt.org/2020/12/28/executive-director-letter"&gt;As I wrote in 2020&lt;/a&gt;, our ideal of complete automation of the web PKI aims at a world where most site owners wouldn&amp;rsquo;t even need to think about certificates at all. We continue to get closer and closer to that world, which creates a risk that people will take us and our services for granted, as the details of certificate renewal occupy less of site operators&amp;rsquo; mental energy. As I said at the time,&lt;/p&gt;
&lt;p&gt;When your strategy as a nonprofit is to get out of the way, to offer services that people don&amp;rsquo;t need to think about, you&amp;rsquo;re running a real risk that you&amp;rsquo;ll eventually be taken for granted. There is a tension between wanting your work to be invisible and the need for recognition of its value. If people aren&amp;rsquo;t aware of how valuable our services are then we may not get the support we need to continue providing them.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m also grateful to our communications and fundraising staff who help make clear what we&amp;rsquo;re doing every day and how we&amp;rsquo;re making the Internet safer.&lt;/p&gt;
&lt;h2 id="recognition-of-let-s-encrypt"&gt;Recognition of Let&amp;rsquo;s Encrypt&lt;/h2&gt;
&lt;p&gt;Our community continually recognizes our work in tangible ways by using our certificates—now by the tens of millions per day—and by &lt;a href="https://www.abetterinternet.org/sponsor/"&gt;sponsoring us&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We were honored to be recognized with awards including the &lt;a href="https://rwc.iacr.org/LevchinPrize/winners.html#certs"&gt;2022 Levchin Prize for Real-World Cryptography&lt;/a&gt; and the &lt;a href="https://www.abetterinternet.org/documents/2019-ISRG-Annual-Report-Desktop.pdf"&gt;2019 O&amp;rsquo;Reilly Open Source Award&lt;/a&gt;. In October of this year some of the individuals who got Let&amp;rsquo;s Encrypt started were honored to receive the &lt;a href="https://secdev.ieee.org/2025/awardees/"&gt;IEEE Cybersecurity Award for Practice&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We documented the history, design, and goals of the project in &lt;a href="https://dl.acm.org/doi/abs/10.1145/3319535.3363192"&gt;an academic paper at the ACM CCS &amp;lsquo;19 conference&lt;/a&gt;, which has subsequently been cited hundreds of times in academic research.&lt;/p&gt;
&lt;h2 id="our-initial-sponsors"&gt;Our initial sponsors&lt;/h2&gt;
&lt;p&gt;Ten years later, I&amp;rsquo;m still deeply grateful to the five initial sponsors that got Let&amp;rsquo;s Encrypt off the ground&amp;mdash;Mozilla, EFF, Cisco, Akamai, and IdenTrust. When they committed significant resources to the project, it was just an ambitious idea. They saw the potential and believed in our team, and because of that we were able to build the service we operate today.&lt;/p&gt;
&lt;h2 id="identrust-a-critical-technical-partner"&gt;IdenTrust: A critical technical partner&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;d like to particularly recognize &lt;a href="https://www.identrust.com/"&gt;IdenTrust&lt;/a&gt;, a PKI company that worked as a partner from the outset and enabled us to issue publicly-trusted certificates via a cross-signature from one of their roots. We would simply not have been able to launch our publicly-trusted certificate service without them. Back when I first told them that we were starting a new nonprofit certificate authority that would give away millions of certificates for free, there wasn&amp;rsquo;t any precedent for this arrangement, and there wasn&amp;rsquo;t necessarily much reason for IdenTrust to pay attention to our proposal. But the company really understood what we were trying to do and was willing to engage from the beginning. Ultimately, IdenTrust&amp;rsquo;s support made our original issuance model a reality.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m proud of what we have achieved with our staff, partners, and donors over the past ten years. I hope to be even more proud of the next ten years, as we use our strong footing to continue to pursue our mission to protect Internet users by lowering monetary, technological, and informational barriers to a more secure and privacy-respecting Internet.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt is a project of the nonprofit Internet Security Research Group, a 501(c)(3) nonprofit. You can help us make the next ten years great as well by &lt;a href="http://letsencrypt.org/donate"&gt;donating&lt;/a&gt; or becoming a &lt;a href="https://www.abetterinternet.org/sponsor/"&gt;sponsor&lt;/a&gt;.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2025/12/09/10-years.html"/>
    <summary type="html">&lt;p&gt;On September 14, 2015, &lt;a href="https://crt.sh/?id=9314793"&gt;our first publicly-trusted certificate&lt;/a&gt; went live. We were proud that we had issued a certificate that a significant majority of clients could accept, and had done it using &lt;a href="https://github.com/letsencrypt/boulder"&gt;automated software&lt;/a&gt;. Of course, in retrospect this was just the first of billions of certificates. Today, Let&amp;rsquo;s Encrypt is the largest certificate authority in the world in terms of certificates issued, the ACME protocol we helped create and standardize is integrated throughout the server ecosystem, and we&amp;rsquo;ve become a household name among system administrators. We&amp;rsquo;re closing in on protecting one billion web sites.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://letsencrypt.org/stats/"&gt;&lt;img alt="" src="https://letsencrypt.org/images/blog/blog-2025-12-09-chart1.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In 2023, we marked the &lt;a href="https://www.abetterinternet.org/tenth-anniversary/"&gt;tenth anniversary of the creation of our nonprofit&lt;/a&gt;, Internet Security Research Group, which continues to host Let&amp;rsquo;s Encrypt and other public benefit infrastructure projects. Now, in honor of the tenth anniversary of Let&amp;rsquo;s Encrypt&amp;rsquo;s public certificate issuance and the start of the general availability of our services, we&amp;rsquo;re looking back at a few milestones and factors that contributed to our success.&lt;/p&gt;
&lt;h2 id="growth"&gt;Growth&lt;/h2&gt;
&lt;p&gt;A conspicuous part of Let&amp;rsquo;s Encrypt&amp;rsquo;s history is how thoroughly our vision of scalability through automation has succeeded.&lt;/p&gt;
&lt;p&gt;In March 2016, we issued our one millionth certificate. Just two years later, in September 2018, we were issuing a million certificates every day. In 2020 we reached a billion total certificates issued and as of late 2025 we&amp;rsquo;re frequently issuing ten million certificates per day. We&amp;rsquo;re now on track to reach a billion active sites, probably sometime in the coming year. (The &amp;ldquo;certificates issued&amp;rdquo; and &amp;ldquo;certificates active&amp;rdquo; metrics are quite different because our certificates regularly expire and get replaced.)&lt;/p&gt;
&lt;p&gt;The steady growth of our issuance volume shows the strength of our architecture, the validity of our vision, and the great efforts of our engineering team to scale up our own infrastructure. It also reminds us of the confidence that the Internet community is placing in us, making the use of a Let&amp;rsquo;s Encrypt certificate a normal and, dare we say, boring choice. But I often point out that our ever-growing issuance volumes are only an indirect measure of value. What ultimately matters is improving the security of people&amp;rsquo;s use of the web, which, as far as Let&amp;rsquo;s Encrypt&amp;rsquo;s contribution goes, is not measured by issuance volumes so much as by the prevalence of HTTPS encryption. For that reason, we&amp;rsquo;ve always emphasized the graph of the percentage of encrypted connections that web users make (here represented by statistics from Firefox).&lt;/p&gt;
&lt;p&gt;&lt;a href="https://letsencrypt.org/stats/"&gt;&lt;img alt="" src="https://letsencrypt.org/images/blog/blog-2025-12-09-chart2.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(These graphs are snapshots as of the date of this post; a dynamically updated version is found &lt;a href="https://letsencrypt.org/stats/#percent-pageloads"&gt;on our stats page&lt;/a&gt;.) Our biggest goal was to make a concrete, measurable security impact on the web by getting HTTPS connection prevalence to increase—and it&amp;rsquo;s worked. It took five years or so to get the global percentage from below 30% to around 80%, where it&amp;rsquo;s remained ever since. In the U.S. it has been close to 95% for a while now.&lt;/p&gt;
&lt;p&gt;A good amount of the remaining unencrypted traffic probably comes from internal or private organizational sites (intranets), but other than that we don&amp;rsquo;t know much about it; this would be a great topic for Internet security researchers to look into.&lt;/p&gt;
&lt;p&gt;We believe our present growth in certificate issuance volume is essentially coming from growth in the web as a whole. In other words, if we protect 20% more sites over some time period, it&amp;rsquo;s because the web itself grew by 20%.&lt;/p&gt;
&lt;h2 id="a-few-milestones"&gt;A few milestones&lt;/h2&gt;
&lt;p&gt;We&amp;rsquo;ve &lt;a href="https://letsencrypt.org/blog/"&gt;blogged about most of Let&amp;rsquo;s Encrypt&amp;rsquo;s most significant milestones&lt;/a&gt; as they&amp;rsquo;ve happened, and I invite everyone in our community to look over those blog posts to see how far we&amp;rsquo;ve come. We&amp;rsquo;ve also &lt;a href="https://www.abetterinternet.org/annual-reports/"&gt;published annual reports for the past seven years&lt;/a&gt;, which offer elegant and concise summaries of our work.&lt;/p&gt;
&lt;p&gt;As I personally think back on the past decade, just a few of the many events that come to mind include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://letsencrypt.org/2014/11/18/announcing-lets-encrypt"&gt;Telling the world about the project&lt;/a&gt; in November 2014&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://letsencrypt.org/2015/09/14/our-first-cert"&gt;Our first certificate issuance&lt;/a&gt; in September 2015&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://letsencrypt.org/2016/03/08/our-millionth-cert"&gt;Our one millionth certificate&lt;/a&gt; in March 2016, then &lt;a href="https://letsencrypt.org/2017/06/28/hundred-million-certs"&gt;our 100 millionth certificate&lt;/a&gt; in June 2017, and then &lt;a href="https://letsencrypt.org/2020/02/27/one-billion-certs"&gt;our billionth certificate&lt;/a&gt; in 2020&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Along the way, first issuing one million certificates in a single day (in September 2018), significantly contributed to by the SquareSpace and &lt;a href="https://letsencrypt.org/2021/09/14/speed-at-scale-shopify"&gt;Shopify&lt;/a&gt; Let&amp;rsquo;s Encrypt integrations&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Just at the end of September 2025, we issued more than ten million certificates in a day for the first time.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We&amp;rsquo;ve also periodically rolled out new features such as &lt;a href="https://letsencrypt.org/2016/10/21/introducing-idn-support"&gt;internationalized domain name support&lt;/a&gt; (2016), &lt;a href="https://letsencrypt.org/2017/07/06/wildcard-certificates-coming-jan-2018"&gt;wildcard support&lt;/a&gt; (2018), and &lt;a href="https://letsencrypt.org/2025/02/20/first-short-lived-cert-issued"&gt;short-lived&lt;/a&gt; and &lt;a href="https://letsencrypt.org/2025/07/01/issuing-our-first-ip-address-certificate"&gt;IP address&lt;/a&gt; (2025) certificates. We&amp;rsquo;re always working on &lt;a href="https://letsencrypt.org/upcoming-features/"&gt;more new features&lt;/a&gt; for the future.&lt;/p&gt;
&lt;p&gt;There are many technical milestones like &lt;a href="https://letsencrypt.org/2021/01/21/next-gen-database-servers"&gt;our database server upgrades&lt;/a&gt; in 2021, where we found we needed a serious server infrastructure boost because of the tremendous volumes of data we were dealing with. Similarly, our original infrastructure was using Gigabit Ethernet internally, and, with the growth of our issuance volume and logging, we found that our Gigabit Ethernet network eventually became too slow to synchronize database instances! (Today we&amp;rsquo;re using 25-gig Ethernet.) More recently, we&amp;rsquo;ve &lt;a href="https://letsencrypt.org/2025/06/11/reflections-on-a-year-of-sunlight"&gt;experimented with architectural upgrades&lt;/a&gt; to our ever-growing Certificate Transparency logs, and &lt;a href="https://letsencrypt.org/2025/08/14/rfc-6962-logs-eol"&gt;decided to go ahead with deploying those upgrades&lt;/a&gt;—to help us not just keep up with, but get ahead of, our continuing growth.&lt;/p&gt;
&lt;p&gt;These kinds of growing pains and successful responses to them are nice to remember because they point to the inexorable increase in demands on our infrastructure as we&amp;rsquo;ve become a more and more essential part of the Internet. I&amp;rsquo;m proud of our technical teams which have handled those increased demands capably and professionally.&lt;/p&gt;
&lt;p&gt;I also recall the ongoing work involved in &lt;a href="https://letsencrypt.org/2018/08/06/trusted-by-all-major-root-programs"&gt;making sure our certificates would be as widely accepted as possible&lt;/a&gt;, which has meant managing the original cross-signature from IdenTrust, and &lt;a href="https://letsencrypt.org/2020/11/06/own-two-feet"&gt;subsequently creating and propagating our own root CA certificates&lt;/a&gt;. This process has required PKI engineering, key ceremonies, root program interactions, documentation, and community support associated with certificate migrations. Most users never have reason to look behind the scenes at &lt;a href="https://letsencrypt.org/certificates/"&gt;our chains of trust&lt;/a&gt;, but our engineers update it as root and intermediate certificates have been replaced. We&amp;rsquo;ve engaged at the &lt;a href="https://cabforum.org/"&gt;CA/B Forum&lt;/a&gt;, &lt;a href="https://www.ietf.org/"&gt;IETF&lt;/a&gt;, and in other venues with the browser root programs to help shape the web PKI as a technical leader.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://letsencrypt.org/2020/12/28/executive-director-letter"&gt;As I wrote in 2020&lt;/a&gt;, our ideal of complete automation of the web PKI aims at a world where most site owners wouldn&amp;rsquo;t even need to think about certificates at all. We continue to get closer and closer to that world, which creates a risk that people will take us and our services for granted, as the details of certificate renewal occupy less of site operators&amp;rsquo; mental energy. As I said at the time,&lt;/p&gt;
&lt;p&gt;When your strategy as a nonprofit is to get out of the way, to offer services that people don&amp;rsquo;t need to think about, you&amp;rsquo;re running a real risk that you&amp;rsquo;ll eventually be taken for granted. There is a tension between wanting your work to be invisible and the need for recognition of its value. If people aren&amp;rsquo;t aware of how valuable our services are then we may not get the support we need to continue providing them.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m also grateful to our communications and fundraising staff who help make clear what we&amp;rsquo;re doing every day and how we&amp;rsquo;re making the Internet safer.&lt;/p&gt;
&lt;h2 id="recognition-of-let-s-encrypt"&gt;Recognition of Let&amp;rsquo;s Encrypt&lt;/h2&gt;
&lt;p&gt;Our community continually recognizes our work in tangible ways by using our certificates—now by the tens of millions per day—and by &lt;a href="https://www.abetterinternet.org/sponsor/"&gt;sponsoring us&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We were honored to be recognized with awards including the &lt;a href="https://rwc.iacr.org/LevchinPrize/winners.html#certs"&gt;2022 Levchin Prize for Real-World Cryptography&lt;/a&gt; and the &lt;a href="https://www.abetterinternet.org/documents/2019-ISRG-Annual-Report-Desktop.pdf"&gt;2019 O&amp;rsquo;Reilly Open Source Award&lt;/a&gt;. In October of this year some of the individuals who got Let&amp;rsquo;s Encrypt started were honored to receive the &lt;a href="https://secdev.ieee.org/2025/awardees/"&gt;IEEE Cybersecurity Award for Practice&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We documented the history, design, and goals of the project in &lt;a href="https://dl.acm.org/doi/abs/10.1145/3319535.3363192"&gt;an academic paper at the ACM CCS &amp;lsquo;19 conference&lt;/a&gt;, which has subsequently been cited hundreds of times in academic research.&lt;/p&gt;
&lt;h2 id="our-initial-sponsors"&gt;Our initial sponsors&lt;/h2&gt;
&lt;p&gt;Ten years later, I&amp;rsquo;m still deeply grateful to the five initial sponsors that got Let&amp;rsquo;s Encrypt off the ground&amp;mdash;Mozilla, EFF, Cisco, Akamai, and IdenTrust. When they committed significant resources to the project, it was just an ambitious idea. They saw the potential and believed in our team, and because of that we were able to build the service we operate today.&lt;/p&gt;
&lt;h2 id="identrust-a-critical-technical-partner"&gt;IdenTrust: A critical technical partner&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;d like to particularly recognize &lt;a href="https://www.identrust.com/"&gt;IdenTrust&lt;/a&gt;, a PKI company that worked as a partner from the outset and enabled us to issue publicly-trusted certificates via a cross-signature from one of their roots. We would simply not have been able to launch our publicly-trusted certificate service without them. Back when I first told them that we were starting a new nonprofit certificate authority that would give away millions of certificates for free, there wasn&amp;rsquo;t any precedent for this arrangement, and there wasn&amp;rsquo;t necessarily much reason for IdenTrust to pay attention to our proposal. But the company really understood what we were trying to do and was willing to engage from the beginning. Ultimately, IdenTrust&amp;rsquo;s support made our original issuance model a reality.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m proud of what we have achieved with our staff, partners, and donors over the past ten years. I hope to be even more proud of the next ten years, as we use our strong footing to continue to pursue our mission to protect Internet users by lowering monetary, technological, and informational barriers to a more secure and privacy-respecting Internet.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt is a project of the nonprofit Internet Security Research Group, a 501(c)(3) nonprofit. You can help us make the next ten years great as well by &lt;a href="http://letsencrypt.org/donate"&gt;donating&lt;/a&gt; or becoming a &lt;a href="https://www.abetterinternet.org/sponsor/"&gt;sponsor&lt;/a&gt;.&lt;/p&gt;</summary>
    <published>2025-12-08T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2025/12/02/from-90-to-45.html</id>
    <title>Decreasing Certificate Lifetimes to 45 Days</title>
    <updated>2025-12-01T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;p&gt;Let’s Encrypt will be reducing the validity period of the certificates we issue. We currently issue certificates valid for 90 days, which will be cut in half to 45 days by 2028.&lt;/p&gt;
&lt;p&gt;This change is being made along with the rest of the industry, as required by the &lt;a href="https://cabforum.org/working-groups/server/baseline-requirements/requirements/"&gt;CA/Browser Forum Baseline Requirements&lt;/a&gt;, which set the technical requirements that we must follow. All publicly-trusted Certificate Authorities like Let’s Encrypt will be making similar changes. Reducing how long certificates are valid for helps improve the security of the internet, by limiting the scope of compromise, and making certificate revocation technologies more efficient.&lt;/p&gt;
&lt;p&gt;We are also reducing the authorization reuse period, which is the length of time after validating domain control that we allow certificates to be issued for that domain. It is currently 30 days, which will be reduced to 7 hours by 2028.&lt;/p&gt;
&lt;h2 id="timeline-of-changes"&gt;Timeline of Changes&lt;/h2&gt;
&lt;p&gt;To minimize disruption, Let’s Encrypt will roll this change out in multiple stages. We will use ACME Profiles to allow you control over when these changes take effect. They are configured in your ACME client. For more information, see our &lt;a href="https://letsencrypt.org/2025/01/09/acme-profiles"&gt;blog post announcing them&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Changes will be deployed to our staging environment approximately one month before the production dates below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;May 13, 2026:&lt;/strong&gt; Let’s Encrypt will switch our &lt;a href="https://letsencrypt.org/docs/profiles/#tlsserver"&gt;tlsserver&lt;/a&gt; ACME profile to issue 45-day certificates. This profile is opt-in and can be used by early adopters and for testing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;February 10, 2027:&lt;/strong&gt; Let’s Encrypt will switch our default &lt;a href="https://letsencrypt.org/docs/profiles/#classic"&gt;classic&lt;/a&gt; ACME profile to issuing 64-day certificates with a 10-day authorization reuse period. This will affect all users who have not opted into the &lt;a href="https://letsencrypt.org/docs/profiles/#tlsserver"&gt;tlsserver&lt;/a&gt; or &lt;a href="https://letsencrypt.org/docs/profiles/#shortlived"&gt;shortlived&lt;/a&gt; (6-day) profiles.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;February 16, 2028:&lt;/strong&gt; We will further update the &lt;a href="https://letsencrypt.org/docs/profiles/#classic"&gt;classic&lt;/a&gt; profile to issue 45-day certificates with a 7 hour authorization reuse period.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These dates are when the change takes effect for new certificates, so Let’s Encrypt users will see the reduced certificate validity period at their next renewal after these dates.&lt;/p&gt;
&lt;h2 id="action-required"&gt;Action Required&lt;/h2&gt;
&lt;p&gt;Most users of Let’s Encrypt who automatically issue certificates will not have to make any changes. However, you should verify that your automation is compatible with certificates that have shorter validity periods.&lt;/p&gt;
&lt;p&gt;To ensure your ACME client renews on time, we recommend using &lt;a href="https://letsencrypt.org/2023/03/23/improving-resliiency-and-reliability-with-ari"&gt;ACME Renewal Information (ARI)&lt;/a&gt;. ARI is a feature we’ve introduced to help clients know when they need to renew their certificates. Consult your ACME client’s documentation on how to enable ARI, as it differs from client to client. If you are a client developer, check out this &lt;a href="https://letsencrypt.org/2024/04/25/guide-to-integrating-ari-into-existing-acme-clients"&gt;integration guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If your client doesn’t support ARI yet, ensure it runs on a schedule that is compatible with 45-day certificates. For example, renewing at a hardcoded interval of 60 days will no longer be sufficient. Acceptable behavior includes renewing certificates at approximately two thirds of the way through the current certificate’s lifetime.&lt;/p&gt;
&lt;p&gt;Manually renewing certificates is not recommended, as it will need to be done more frequently with shorter certificate lifetimes.&lt;/p&gt;
&lt;p&gt;We also recommend that you make sure your systems have sufficient monitoring in place to alert appropriately if certificates aren’t renewed when expected. There are many available options, some of which are documented on our &lt;a href="https://letsencrypt.org/docs/monitoring-options/"&gt;Monitoring Service Options&lt;/a&gt; page.&lt;/p&gt;
&lt;h2 id="making-automation-easier-with-a-new-dns-challenge-type"&gt;Making Automation Easier with a new DNS Challenge Type&lt;/h2&gt;
&lt;p&gt;For many of our users, the hardest part of automatically issuing certificates is proving domain control. Reducing certificate lifetimes and the authorization reuse period will make users need to demonstrate control more often.&lt;/p&gt;
&lt;p&gt;All validation methods today require that the ACME client have live access to your infrastructure, either to serve the correct HTTP-01 token, perform the right TLS-ALPN-01 handshake, or update the right DNS-01 TXT record. For a long time, people have wanted a way to run an ACME client without granting it access to these sensitive systems.&lt;/p&gt;
&lt;p&gt;These challenges are why we are working with our partners at the CA/Browser Forum and IETF to standardize a new validation method called &lt;a href="https://www.ietf.org/archive/id/draft-ietf-acme-dns-persist-00.html"&gt;DNS-PERSIST-01&lt;/a&gt;. The key advantage of this new method is that the DNS TXT entry used to demonstrate control does not have to change every renewal.&lt;/p&gt;
&lt;p&gt;This means you can set up the DNS entry once and begin automatically renewing certificates without needing a way to automatically update DNS. This should allow even more people to automate their certificate renewals. It will also reduce reliance on authorization reuse, since the DNS records can stay unchanged without any further ACME client involvement.&lt;/p&gt;
&lt;p&gt;We expect DNS-PERSIST-01 to be available in 2026, and will have more to announce soon.&lt;/p&gt;
&lt;h2 id="keep-up-to-date"&gt;Keep Up to Date&lt;/h2&gt;
&lt;p&gt;Additional updates, reminders, and other changes will be shared on our &lt;a href="https://letsencrypt.org/opt-in/"&gt;technical updates mailing list&lt;/a&gt;. Subscribe to keep up-to-date with these and all other upcoming changes. If you have any questions, please ask on our &lt;a href="https://community.letsencrypt.org/"&gt;community forum&lt;/a&gt;. If you want to read more about the work happening at Let’s Encrypt and our other projects, check out our &lt;a href="https://www.abetterinternet.org/annual-reports/"&gt;Annual Report&lt;/a&gt;, which was published today.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2025/12/02/from-90-to-45.html"/>
    <summary type="html">&lt;p&gt;Let’s Encrypt will be reducing the validity period of the certificates we issue. We currently issue certificates valid for 90 days, which will be cut in half to 45 days by 2028.&lt;/p&gt;
&lt;p&gt;This change is being made along with the rest of the industry, as required by the &lt;a href="https://cabforum.org/working-groups/server/baseline-requirements/requirements/"&gt;CA/Browser Forum Baseline Requirements&lt;/a&gt;, which set the technical requirements that we must follow. All publicly-trusted Certificate Authorities like Let’s Encrypt will be making similar changes. Reducing how long certificates are valid for helps improve the security of the internet, by limiting the scope of compromise, and making certificate revocation technologies more efficient.&lt;/p&gt;
&lt;p&gt;We are also reducing the authorization reuse period, which is the length of time after validating domain control that we allow certificates to be issued for that domain. It is currently 30 days, which will be reduced to 7 hours by 2028.&lt;/p&gt;
&lt;h2 id="timeline-of-changes"&gt;Timeline of Changes&lt;/h2&gt;
&lt;p&gt;To minimize disruption, Let’s Encrypt will roll this change out in multiple stages. We will use ACME Profiles to allow you control over when these changes take effect. They are configured in your ACME client. For more information, see our &lt;a href="https://letsencrypt.org/2025/01/09/acme-profiles"&gt;blog post announcing them&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Changes will be deployed to our staging environment approximately one month before the production dates below.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;May 13, 2026:&lt;/strong&gt; Let’s Encrypt will switch our &lt;a href="https://letsencrypt.org/docs/profiles/#tlsserver"&gt;tlsserver&lt;/a&gt; ACME profile to issue 45-day certificates. This profile is opt-in and can be used by early adopters and for testing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;February 10, 2027:&lt;/strong&gt; Let’s Encrypt will switch our default &lt;a href="https://letsencrypt.org/docs/profiles/#classic"&gt;classic&lt;/a&gt; ACME profile to issuing 64-day certificates with a 10-day authorization reuse period. This will affect all users who have not opted into the &lt;a href="https://letsencrypt.org/docs/profiles/#tlsserver"&gt;tlsserver&lt;/a&gt; or &lt;a href="https://letsencrypt.org/docs/profiles/#shortlived"&gt;shortlived&lt;/a&gt; (6-day) profiles.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;February 16, 2028:&lt;/strong&gt; We will further update the &lt;a href="https://letsencrypt.org/docs/profiles/#classic"&gt;classic&lt;/a&gt; profile to issue 45-day certificates with a 7 hour authorization reuse period.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These dates are when the change takes effect for new certificates, so Let’s Encrypt users will see the reduced certificate validity period at their next renewal after these dates.&lt;/p&gt;
&lt;h2 id="action-required"&gt;Action Required&lt;/h2&gt;
&lt;p&gt;Most users of Let’s Encrypt who automatically issue certificates will not have to make any changes. However, you should verify that your automation is compatible with certificates that have shorter validity periods.&lt;/p&gt;
&lt;p&gt;To ensure your ACME client renews on time, we recommend using &lt;a href="https://letsencrypt.org/2023/03/23/improving-resliiency-and-reliability-with-ari"&gt;ACME Renewal Information (ARI)&lt;/a&gt;. ARI is a feature we’ve introduced to help clients know when they need to renew their certificates. Consult your ACME client’s documentation on how to enable ARI, as it differs from client to client. If you are a client developer, check out this &lt;a href="https://letsencrypt.org/2024/04/25/guide-to-integrating-ari-into-existing-acme-clients"&gt;integration guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If your client doesn’t support ARI yet, ensure it runs on a schedule that is compatible with 45-day certificates. For example, renewing at a hardcoded interval of 60 days will no longer be sufficient. Acceptable behavior includes renewing certificates at approximately two thirds of the way through the current certificate’s lifetime.&lt;/p&gt;
&lt;p&gt;Manually renewing certificates is not recommended, as it will need to be done more frequently with shorter certificate lifetimes.&lt;/p&gt;
&lt;p&gt;We also recommend that you make sure your systems have sufficient monitoring in place to alert appropriately if certificates aren’t renewed when expected. There are many available options, some of which are documented on our &lt;a href="https://letsencrypt.org/docs/monitoring-options/"&gt;Monitoring Service Options&lt;/a&gt; page.&lt;/p&gt;
&lt;h2 id="making-automation-easier-with-a-new-dns-challenge-type"&gt;Making Automation Easier with a new DNS Challenge Type&lt;/h2&gt;
&lt;p&gt;For many of our users, the hardest part of automatically issuing certificates is proving domain control. Reducing certificate lifetimes and the authorization reuse period will make users need to demonstrate control more often.&lt;/p&gt;
&lt;p&gt;All validation methods today require that the ACME client have live access to your infrastructure, either to serve the correct HTTP-01 token, perform the right TLS-ALPN-01 handshake, or update the right DNS-01 TXT record. For a long time, people have wanted a way to run an ACME client without granting it access to these sensitive systems.&lt;/p&gt;
&lt;p&gt;These challenges are why we are working with our partners at the CA/Browser Forum and IETF to standardize a new validation method called &lt;a href="https://www.ietf.org/archive/id/draft-ietf-acme-dns-persist-00.html"&gt;DNS-PERSIST-01&lt;/a&gt;. The key advantage of this new method is that the DNS TXT entry used to demonstrate control does not have to change every renewal.&lt;/p&gt;
&lt;p&gt;This means you can set up the DNS entry once and begin automatically renewing certificates without needing a way to automatically update DNS. This should allow even more people to automate their certificate renewals. It will also reduce reliance on authorization reuse, since the DNS records can stay unchanged without any further ACME client involvement.&lt;/p&gt;
&lt;p&gt;We expect DNS-PERSIST-01 to be available in 2026, and will have more to announce soon.&lt;/p&gt;
&lt;h2 id="keep-up-to-date"&gt;Keep Up to Date&lt;/h2&gt;
&lt;p&gt;Additional updates, reminders, and other changes will be shared on our &lt;a href="https://letsencrypt.org/opt-in/"&gt;technical updates mailing list&lt;/a&gt;. Subscribe to keep up-to-date with these and all other upcoming changes. If you have any questions, please ask on our &lt;a href="https://community.letsencrypt.org/"&gt;community forum&lt;/a&gt;. If you want to read more about the work happening at Let’s Encrypt and our other projects, check out our &lt;a href="https://www.abetterinternet.org/annual-reports/"&gt;Annual Report&lt;/a&gt;, which was published today.&lt;/p&gt;</summary>
    <published>2025-12-01T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2025/11/24/gen-y-hierarchy.html</id>
    <title>New "Generation Y" Hierarchy of Root and Intermediate Certificates</title>
    <updated>2025-11-23T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;p&gt;In a ceremony held in September, Let’s Encrypt generated two new Root Certification Authorities (CAs) and six new Intermediate CAs, which we’re collectively calling the “Generation Y” hierarchy. Now we’re moving to begin issuing certificates from this new hierarchy, and to submit it to various root programs for inclusion in their trust stores.&lt;/p&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt="Diagram of the new Generation Y Root and Intermediate CAs" src="https://letsencrypt.org/images/blog/2025-11-24-gen-y-hierarchy.png" /&gt;&lt;/p&gt;
&lt;/figure&gt;
&lt;p&gt;The &lt;a href="https://letsencrypt.org/certificates/#root-cas"&gt;two new roots&lt;/a&gt; look very similar to our existing roots. The new &lt;a href="https://letsencrypt.org/certs/gen-y/root-yr.txt"&gt;ISRG Root YR&lt;/a&gt; has an RSA 4096 key and is valid for twenty years, just like &lt;a href="https://letsencrypt.org/certs/isrgrootx1.txt"&gt;ISRG Root X1&lt;/a&gt;. Similarly, the new &lt;a href="https://letsencrypt.org/certs/gen-y/root-ye.txt"&gt;ISRG Root YE&lt;/a&gt; has an ECDSA P-384 key, just like &lt;a href="https://letsencrypt.org/certs/isrg-root-x2.txt"&gt;ISRG Root X2&lt;/a&gt;. We’ve made a few adjustments (for example, replacing “Internet Security Research Group” with “ISRG” to save a few bytes), but nothing major. Each of these new roots is intended to eventually replace its corresponding predecessor, and to that end we have cross-signed the new roots from the old ones.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://letsencrypt.org/certificates/#subordinate-intermediate-cas"&gt;six new intermediates&lt;/a&gt; consist of three intermediates each issued from each of the two new roots. ISRG Root YE has issued the &lt;a href="https://letsencrypt.org/certs/gen-y/int-ye1.txt"&gt;YE1&lt;/a&gt;, &lt;a href="https://letsencrypt.org/certs/gen-y/int-ye2.txt"&gt;YE2&lt;/a&gt;, and &lt;a href="https://letsencrypt.org/certs/gen-y/int-ye3.txt"&gt;YE3&lt;/a&gt; intermediates, while ISRG Root YR has issued the &lt;a href="https://letsencrypt.org/certs/gen-y/int-yr1.txt"&gt;YR1&lt;/a&gt;, &lt;a href="https://letsencrypt.org/certs/gen-y/int-yr2.txt"&gt;YR2&lt;/a&gt;, and &lt;a href="https://letsencrypt.org/certs/gen-y/int-yr3.txt"&gt;YR3&lt;/a&gt; intermediates. These have two key differences from our current crop of issuing intermediates. First, their names: we’re now numbering intermediates under each root sequentially, rather than using the same numbering sequence across all intermediates. This makes it slightly easier to keep track of which intermediates are currently in use, and prepares for a possible post-quantum future where we have additional key types.&lt;/p&gt;
&lt;p&gt;Second and more importantly: these intermediates do not contain the “TLS Web Client Authentication” Extended Key Usage. This means that these intermediates cannot issue end-entity certificates containing that EKU. As we’ve &lt;a href="https://letsencrypt.org/2025/05/14/ending-tls-client-authentication"&gt;already announced&lt;/a&gt;, we will be phasing out issuance of tlsClientAuth certificates in 2026 due to a root program requirement. Until that time, we will only be using the new hierarchy to issue certificates under the “&lt;a href="https://letsencrypt.org/docs/profiles/#tlsserver"&gt;tlsserver&lt;/a&gt;” and “&lt;a href="https://letsencrypt.org/docs/profiles/#shortlived"&gt;shortlived&lt;/a&gt;” profiles, which already omit that EKU. After the tlsClientAuth deprecation is complete, we will shift to using the new intermediates for all issuance.&lt;/p&gt;
&lt;p&gt;If you’re requesting the tlsserver or shortlived profile, you can expect to see issuance from (the &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Staging equivalent&lt;/a&gt; of) the new hierarchy as of today. We expect to make the same change in our Production environment next month. As before, each issuance will choose which intermediate to use at random, to &lt;a href="https://letsencrypt.org/2024/03/19/new-intermediate-certificates#rotating-issuance"&gt;discourage intermediate key pinning&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We’ll be submitting the new roots for inclusion in the Apple, Chrome, Microsoft, Mozilla, and other root programs shortly thereafter. We look forward to updating you again when the new hierarchy is officially included in those trust stores!&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2025/11/24/gen-y-hierarchy.html"/>
    <summary type="html">&lt;p&gt;In a ceremony held in September, Let’s Encrypt generated two new Root Certification Authorities (CAs) and six new Intermediate CAs, which we’re collectively calling the “Generation Y” hierarchy. Now we’re moving to begin issuing certificates from this new hierarchy, and to submit it to various root programs for inclusion in their trust stores.&lt;/p&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt="Diagram of the new Generation Y Root and Intermediate CAs" src="https://letsencrypt.org/images/blog/2025-11-24-gen-y-hierarchy.png" /&gt;&lt;/p&gt;
&lt;/figure&gt;
&lt;p&gt;The &lt;a href="https://letsencrypt.org/certificates/#root-cas"&gt;two new roots&lt;/a&gt; look very similar to our existing roots. The new &lt;a href="https://letsencrypt.org/certs/gen-y/root-yr.txt"&gt;ISRG Root YR&lt;/a&gt; has an RSA 4096 key and is valid for twenty years, just like &lt;a href="https://letsencrypt.org/certs/isrgrootx1.txt"&gt;ISRG Root X1&lt;/a&gt;. Similarly, the new &lt;a href="https://letsencrypt.org/certs/gen-y/root-ye.txt"&gt;ISRG Root YE&lt;/a&gt; has an ECDSA P-384 key, just like &lt;a href="https://letsencrypt.org/certs/isrg-root-x2.txt"&gt;ISRG Root X2&lt;/a&gt;. We’ve made a few adjustments (for example, replacing “Internet Security Research Group” with “ISRG” to save a few bytes), but nothing major. Each of these new roots is intended to eventually replace its corresponding predecessor, and to that end we have cross-signed the new roots from the old ones.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://letsencrypt.org/certificates/#subordinate-intermediate-cas"&gt;six new intermediates&lt;/a&gt; consist of three intermediates each issued from each of the two new roots. ISRG Root YE has issued the &lt;a href="https://letsencrypt.org/certs/gen-y/int-ye1.txt"&gt;YE1&lt;/a&gt;, &lt;a href="https://letsencrypt.org/certs/gen-y/int-ye2.txt"&gt;YE2&lt;/a&gt;, and &lt;a href="https://letsencrypt.org/certs/gen-y/int-ye3.txt"&gt;YE3&lt;/a&gt; intermediates, while ISRG Root YR has issued the &lt;a href="https://letsencrypt.org/certs/gen-y/int-yr1.txt"&gt;YR1&lt;/a&gt;, &lt;a href="https://letsencrypt.org/certs/gen-y/int-yr2.txt"&gt;YR2&lt;/a&gt;, and &lt;a href="https://letsencrypt.org/certs/gen-y/int-yr3.txt"&gt;YR3&lt;/a&gt; intermediates. These have two key differences from our current crop of issuing intermediates. First, their names: we’re now numbering intermediates under each root sequentially, rather than using the same numbering sequence across all intermediates. This makes it slightly easier to keep track of which intermediates are currently in use, and prepares for a possible post-quantum future where we have additional key types.&lt;/p&gt;
&lt;p&gt;Second and more importantly: these intermediates do not contain the “TLS Web Client Authentication” Extended Key Usage. This means that these intermediates cannot issue end-entity certificates containing that EKU. As we’ve &lt;a href="https://letsencrypt.org/2025/05/14/ending-tls-client-authentication"&gt;already announced&lt;/a&gt;, we will be phasing out issuance of tlsClientAuth certificates in 2026 due to a root program requirement. Until that time, we will only be using the new hierarchy to issue certificates under the “&lt;a href="https://letsencrypt.org/docs/profiles/#tlsserver"&gt;tlsserver&lt;/a&gt;” and “&lt;a href="https://letsencrypt.org/docs/profiles/#shortlived"&gt;shortlived&lt;/a&gt;” profiles, which already omit that EKU. After the tlsClientAuth deprecation is complete, we will shift to using the new intermediates for all issuance.&lt;/p&gt;
&lt;p&gt;If you’re requesting the tlsserver or shortlived profile, you can expect to see issuance from (the &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Staging equivalent&lt;/a&gt; of) the new hierarchy as of today. We expect to make the same change in our Production environment next month. As before, each issuance will choose which intermediate to use at random, to &lt;a href="https://letsencrypt.org/2024/03/19/new-intermediate-certificates#rotating-issuance"&gt;discourage intermediate key pinning&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We’ll be submitting the new roots for inclusion in the Apple, Chrome, Microsoft, Mozilla, and other root programs shortly thereafter. We look forward to updating you again when the new hierarchy is officially included in those trust stores!&lt;/p&gt;</summary>
    <published>2025-11-23T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2025/10/07/ten-yrs-community-forum.html</id>
    <title>Ten Years of Community Support</title>
    <updated>2025-10-06T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;div class="pull-quote-right"&gt;
  &lt;blockquote class="blockquote"&gt;
    &lt;span class="quote"&gt;&lt;/span&gt;
    &lt;div class="quote-text"&gt;
      &lt;p class="quote-text-value"&gt;Seth Schoen was an early contributor to Let's Encrypt through his work at the Electronic Frontier Foundation. He's also one of the longest standing participants in the Let's Encrypt community support forum, so we asked him to offer his thoughts on the role and impact of the forum as a resource for our users. Thank you for your many years of expertise and participation, Seth!&lt;/p&gt;
      &lt;footer class="blockquote-footer"&gt;&lt;span class="blockquote-mdash"&gt;&amp;mdash;&lt;/span&gt; &lt;cite title="Source Title"&gt;Josh Aas&lt;/cite&gt;, Head of Let's Encrypt&lt;/footer&gt;
    &lt;/div&gt;
  &lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;Along with the tenth anniversary of Let&amp;rsquo;s Encrypt&amp;rsquo;s first certificate, we&amp;rsquo;re also celebrating ten years of the &lt;a href="https://community.letsencrypt.org/"&gt;Let&amp;rsquo;s Encrypt Community Forum&lt;/a&gt;, which has played a vital role in the Let&amp;rsquo;s Encrypt community.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s been the &lt;a href="https://community.letsencrypt.org/c/help/13"&gt;first stop for end users with technical questions&lt;/a&gt;. It&amp;rsquo;s been the main way that &lt;a href="https://community.letsencrypt.org/c/client-dev/14"&gt;client developers got help with ACME&lt;/a&gt; and debugged compatibility issues. It&amp;rsquo;s been the place where Let&amp;rsquo;s Encrypt staff &lt;a href="https://community.letsencrypt.org/c/api-announcements/18"&gt;made technical announcements&lt;/a&gt; and got immediate feedback from affected parties.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s happened in many different languages (including official French, Spanish, and Portuguese categories, use of numerous volunteers&amp;rsquo; native languages, as well as many successful conversations via machine translation). For example, people have gotten help in Dutch, Russian, German, and Chinese.&lt;/p&gt;
&lt;p&gt;Thousands of volunteers have provided help and successfully helped tens of thousands of users get their certificates. Occasionally, they&amp;rsquo;ve also reported bugs in client software, documentation, or even the Let&amp;rsquo;s Encrypt service itself. Many times a responsible developer was there to interact directly with the bug reporter.&lt;/p&gt;
&lt;p&gt;Here are the monthly pageviews from the creation of the Community Forum until the present day:&lt;/p&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt="Monthly pageviews chart showing growth from 2015 to 2025" src="https://letsencrypt.org/images/blog/2025.10.02.Ten-yrs-community-forum-image-1.png" /&gt;&lt;/p&gt;
&lt;figcaption&gt;Other reports from the forum software show that much of the most recent pageview growth is due to robots, probably from AI training. But that may ultimately be helpful to users too, as AI systems learn about Let's Encrypt from the forum posts and become more able to answer users' questions correctly.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="seeing-the-results-of-one-s-efforts"&gt;Seeing the results of one&amp;rsquo;s efforts&lt;/h3&gt;
&lt;p&gt;The most common kind of interaction on the forum is one in which a Let&amp;rsquo;s Encrypt end user shows up with some kind of problem, usually an inability to get or renew a certificate. In most cases, if the user is willing to answer some questions, the community is ultimately able to resolve the problem.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve often compared the satisfaction of helping users on the Let&amp;rsquo;s Encrypt forum to what I felt while installing bike lights at a local cycling organization&amp;rsquo;s bike light giveaway event. In both cases, one could engage for a few minutes with someone, maybe deal with some unanticipated oddities (extra-thick handlebars? an unusual seat post or cargo rack? a strange DNS setup? an unusual Apache configuration?). Usually, this would lead to a concrete practical improvement in safety afterward (the blinking red tail light freshly installed on someone&amp;rsquo;s bike, or the lovely https:// prefix or padlock icon newly visible in the browser bar when browsing to a visitor&amp;rsquo;s website). It&amp;rsquo;s common in the Internet security world not to be able to see or appreciate how what we do helps people, so &amp;ldquo;we just helped make connections to your specific web site more secure&amp;rdquo; is especially satisfying.&lt;/p&gt;
&lt;p&gt;Tangible safety upgrades!&lt;/p&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt="Bicycle with red rear safety light attached to seat post" src="https://letsencrypt.org/images/blog/2025.10.02.Ten-yrs-community-forum-image-2.png" /&gt;&lt;/p&gt;
&lt;figcaption&gt;Photo by Richard Masoner / Cyclelicious, CC-BY-SA 2.0. Not a bike light I personally installed.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt="HTTPS padlock icon shown in browser address bar for Wikimedia website" src="https://letsencrypt.org/images/blog/2025.10.02.Ten-yrs-community-forum-image-3.png" /&gt;&lt;/p&gt;
&lt;figcaption&gt;I think Wikimedia Foundation figured out their Let's Encrypt certificates without support from the forum. But we're there if they ever need us!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="a-channel-between-let-s-encrypt-staff-and-the-community"&gt;A channel between Let&amp;rsquo;s Encrypt staff and the community&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt describes itself as &amp;ldquo;free, automated, and open&amp;rdquo;; part of that openness consists of its use of open standards (ACME) and open source CA software (Boulder). Part of it is also about how much of the CA&amp;rsquo;s thinking happens in public! One example (of dozens) is that the &lt;a href="https://community.letsencrypt.org/t/new-y-root-and-intermediate-hierarchy/241065"&gt;September 2025 Let&amp;rsquo;s Encrypt root ceremony&lt;/a&gt; was &lt;a href="https://community.letsencrypt.org/t/preview-of-our-upcoming-root-ceremony/239494"&gt;discussed ahead of time on the forum&lt;/a&gt;, starting back in July, with the plans and details all open for discussion and review. Let&amp;rsquo;s Encrypt staff have even asked the community for feedback on how production and testing certificates ought to be named!&lt;/p&gt;
&lt;p&gt;In other cases, like when there was &lt;a href="https://community.letsencrypt.org/t/questions-regarding-announcing-six-day-and-ip-address-certificate-options-in-2025/232043"&gt;new functionality announced&lt;/a&gt;, or &lt;a href="https://community.letsencrypt.org/t/questions-regarding-shortening-the-lets-encrypt-chain-of-trust/201581"&gt;substantive technical changes affecting certificate issuance&lt;/a&gt;, or &lt;a href="https://community.letsencrypt.org/t/feedback-needed-for-our-new-account-pausing-feature-and-self-service-unpause-portal/222804"&gt;proposed rate limit changes&lt;/a&gt;, or &lt;a href="https://community.letsencrypt.org/t/revoking-certain-certificates-on-march-4/114864"&gt;problems requiring mass revocation&lt;/a&gt;, or &lt;a href="https://community.letsencrypt.org/t/help-thread-for-dst-root-ca-x3-expiration-september-2021/149190"&gt;expiring root certificates&lt;/a&gt;, Let&amp;rsquo;s Encrypt staff were available talking about all the details and directly answering end users&amp;rsquo; questions. Again, there are lots of other examples, where changes large or small got announced, proposed, or discussed on the forum, with Let&amp;rsquo;s Encrypt&amp;rsquo;s own experts engaging with the community.&lt;/p&gt;
&lt;h3 id="final-thoughts-and-thanks"&gt;Final thoughts and thanks&lt;/h3&gt;
&lt;p&gt;The forum runs on &lt;a href="https://www.discourse.org/"&gt;Discourse&lt;/a&gt;, which has continued to be an effective choice of forum software for the community. Discourse has nice technical and user interface features, but it&amp;rsquo;s also pleasantly unobtrusive. The Discourse company has also generously been donating pro bono hosting for the forum for many years, and, of course, it uses a Let&amp;rsquo;s Encrypt certificate.&lt;/p&gt;
&lt;p&gt;The volunteers on the Let&amp;rsquo;s Encrypt forum have made a huge contribution to Let&amp;rsquo;s Encrypt&amp;rsquo;s success. It&amp;rsquo;s easy to imagine that many users might have given up on Let&amp;rsquo;s Encrypt in frustration were it not for the efforts of dedicated volunteers to draw out the necessary details, notice the relevant issues, and patiently explain concepts that were confusing people. There are also volunteer moderators who&amp;rsquo;ve worked hard to keep the forum on track, stop spam, and defuse distracting conflicts. Thanks to all of you.&lt;/p&gt;
&lt;p&gt;Several software projects have been informed by discussions and issues on the forum, as developers there found opportunities to help large numbers of users. I would particularly highlight Alex Zorin&amp;rsquo;s &lt;a href="https://letsdebug.net/"&gt;Let&amp;rsquo;s Debug&lt;/a&gt; and Jonathan Griffin&amp;rsquo;s &lt;a href="https://certsage.com/"&gt;CertSage&lt;/a&gt; as examples in this category. Let&amp;rsquo;s Debug runs a series of practical live tests on a specified site to help users figure out why certificate issuance is failing, giving useful explanations of many of the most common failure reasons. CertSage is a client meant for users who have hosting plans without native support for Let&amp;rsquo;s Encrypt, and without administrative access&amp;mdash;but where they can run PHP scripts. These projects grew out of Alex&amp;rsquo;s and Jonathan&amp;rsquo;s experiences helping users on the forum and seeing the kinds of issues that came up repeatedly there. Joona Hoikkala&amp;rsquo;s helpful &lt;a href="https://github.com/joohoi/acme-dns"&gt;acme-dns&lt;/a&gt;, which helps subscribers complete the ACME DNS challenge with a dedicated service instead of using an existing DNS server, also helped respond to a common issue that brought many people to the forum.&lt;/p&gt;
&lt;p&gt;I would also like to thank Jacob Hoffman-Andrews for his early efforts to set a positive and welcoming tone on the forum. Jacob and other forum administrators always reminded the community to be patient and welcoming to each visitor, emphasizing that the forum was many users&amp;rsquo; first interaction with Let&amp;rsquo;s Encrypt, and that users ought to be welcomed regardless of their expertise or background (and regardless of whether their questions had been asked before by others).&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2025/10/07/ten-yrs-community-forum.html"/>
    <summary type="html">&lt;div class="pull-quote-right"&gt;
  &lt;blockquote class="blockquote"&gt;
    &lt;span class="quote"&gt;&lt;/span&gt;
    &lt;div class="quote-text"&gt;
      &lt;p class="quote-text-value"&gt;Seth Schoen was an early contributor to Let's Encrypt through his work at the Electronic Frontier Foundation. He's also one of the longest standing participants in the Let's Encrypt community support forum, so we asked him to offer his thoughts on the role and impact of the forum as a resource for our users. Thank you for your many years of expertise and participation, Seth!&lt;/p&gt;
      &lt;footer class="blockquote-footer"&gt;&lt;span class="blockquote-mdash"&gt;&amp;mdash;&lt;/span&gt; &lt;cite title="Source Title"&gt;Josh Aas&lt;/cite&gt;, Head of Let's Encrypt&lt;/footer&gt;
    &lt;/div&gt;
  &lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;Along with the tenth anniversary of Let&amp;rsquo;s Encrypt&amp;rsquo;s first certificate, we&amp;rsquo;re also celebrating ten years of the &lt;a href="https://community.letsencrypt.org/"&gt;Let&amp;rsquo;s Encrypt Community Forum&lt;/a&gt;, which has played a vital role in the Let&amp;rsquo;s Encrypt community.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s been the &lt;a href="https://community.letsencrypt.org/c/help/13"&gt;first stop for end users with technical questions&lt;/a&gt;. It&amp;rsquo;s been the main way that &lt;a href="https://community.letsencrypt.org/c/client-dev/14"&gt;client developers got help with ACME&lt;/a&gt; and debugged compatibility issues. It&amp;rsquo;s been the place where Let&amp;rsquo;s Encrypt staff &lt;a href="https://community.letsencrypt.org/c/api-announcements/18"&gt;made technical announcements&lt;/a&gt; and got immediate feedback from affected parties.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s happened in many different languages (including official French, Spanish, and Portuguese categories, use of numerous volunteers&amp;rsquo; native languages, as well as many successful conversations via machine translation). For example, people have gotten help in Dutch, Russian, German, and Chinese.&lt;/p&gt;
&lt;p&gt;Thousands of volunteers have provided help and successfully helped tens of thousands of users get their certificates. Occasionally, they&amp;rsquo;ve also reported bugs in client software, documentation, or even the Let&amp;rsquo;s Encrypt service itself. Many times a responsible developer was there to interact directly with the bug reporter.&lt;/p&gt;
&lt;p&gt;Here are the monthly pageviews from the creation of the Community Forum until the present day:&lt;/p&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt="Monthly pageviews chart showing growth from 2015 to 2025" src="https://letsencrypt.org/images/blog/2025.10.02.Ten-yrs-community-forum-image-1.png" /&gt;&lt;/p&gt;
&lt;figcaption&gt;Other reports from the forum software show that much of the most recent pageview growth is due to robots, probably from AI training. But that may ultimately be helpful to users too, as AI systems learn about Let's Encrypt from the forum posts and become more able to answer users' questions correctly.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="seeing-the-results-of-one-s-efforts"&gt;Seeing the results of one&amp;rsquo;s efforts&lt;/h3&gt;
&lt;p&gt;The most common kind of interaction on the forum is one in which a Let&amp;rsquo;s Encrypt end user shows up with some kind of problem, usually an inability to get or renew a certificate. In most cases, if the user is willing to answer some questions, the community is ultimately able to resolve the problem.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve often compared the satisfaction of helping users on the Let&amp;rsquo;s Encrypt forum to what I felt while installing bike lights at a local cycling organization&amp;rsquo;s bike light giveaway event. In both cases, one could engage for a few minutes with someone, maybe deal with some unanticipated oddities (extra-thick handlebars? an unusual seat post or cargo rack? a strange DNS setup? an unusual Apache configuration?). Usually, this would lead to a concrete practical improvement in safety afterward (the blinking red tail light freshly installed on someone&amp;rsquo;s bike, or the lovely https:// prefix or padlock icon newly visible in the browser bar when browsing to a visitor&amp;rsquo;s website). It&amp;rsquo;s common in the Internet security world not to be able to see or appreciate how what we do helps people, so &amp;ldquo;we just helped make connections to your specific web site more secure&amp;rdquo; is especially satisfying.&lt;/p&gt;
&lt;p&gt;Tangible safety upgrades!&lt;/p&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt="Bicycle with red rear safety light attached to seat post" src="https://letsencrypt.org/images/blog/2025.10.02.Ten-yrs-community-forum-image-2.png" /&gt;&lt;/p&gt;
&lt;figcaption&gt;Photo by Richard Masoner / Cyclelicious, CC-BY-SA 2.0. Not a bike light I personally installed.&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;figure&gt;
&lt;p&gt;&lt;img alt="HTTPS padlock icon shown in browser address bar for Wikimedia website" src="https://letsencrypt.org/images/blog/2025.10.02.Ten-yrs-community-forum-image-3.png" /&gt;&lt;/p&gt;
&lt;figcaption&gt;I think Wikimedia Foundation figured out their Let's Encrypt certificates without support from the forum. But we're there if they ever need us!&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;h3 id="a-channel-between-let-s-encrypt-staff-and-the-community"&gt;A channel between Let&amp;rsquo;s Encrypt staff and the community&lt;/h3&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt describes itself as &amp;ldquo;free, automated, and open&amp;rdquo;; part of that openness consists of its use of open standards (ACME) and open source CA software (Boulder). Part of it is also about how much of the CA&amp;rsquo;s thinking happens in public! One example (of dozens) is that the &lt;a href="https://community.letsencrypt.org/t/new-y-root-and-intermediate-hierarchy/241065"&gt;September 2025 Let&amp;rsquo;s Encrypt root ceremony&lt;/a&gt; was &lt;a href="https://community.letsencrypt.org/t/preview-of-our-upcoming-root-ceremony/239494"&gt;discussed ahead of time on the forum&lt;/a&gt;, starting back in July, with the plans and details all open for discussion and review. Let&amp;rsquo;s Encrypt staff have even asked the community for feedback on how production and testing certificates ought to be named!&lt;/p&gt;
&lt;p&gt;In other cases, like when there was &lt;a href="https://community.letsencrypt.org/t/questions-regarding-announcing-six-day-and-ip-address-certificate-options-in-2025/232043"&gt;new functionality announced&lt;/a&gt;, or &lt;a href="https://community.letsencrypt.org/t/questions-regarding-shortening-the-lets-encrypt-chain-of-trust/201581"&gt;substantive technical changes affecting certificate issuance&lt;/a&gt;, or &lt;a href="https://community.letsencrypt.org/t/feedback-needed-for-our-new-account-pausing-feature-and-self-service-unpause-portal/222804"&gt;proposed rate limit changes&lt;/a&gt;, or &lt;a href="https://community.letsencrypt.org/t/revoking-certain-certificates-on-march-4/114864"&gt;problems requiring mass revocation&lt;/a&gt;, or &lt;a href="https://community.letsencrypt.org/t/help-thread-for-dst-root-ca-x3-expiration-september-2021/149190"&gt;expiring root certificates&lt;/a&gt;, Let&amp;rsquo;s Encrypt staff were available talking about all the details and directly answering end users&amp;rsquo; questions. Again, there are lots of other examples, where changes large or small got announced, proposed, or discussed on the forum, with Let&amp;rsquo;s Encrypt&amp;rsquo;s own experts engaging with the community.&lt;/p&gt;
&lt;h3 id="final-thoughts-and-thanks"&gt;Final thoughts and thanks&lt;/h3&gt;
&lt;p&gt;The forum runs on &lt;a href="https://www.discourse.org/"&gt;Discourse&lt;/a&gt;, which has continued to be an effective choice of forum software for the community. Discourse has nice technical and user interface features, but it&amp;rsquo;s also pleasantly unobtrusive. The Discourse company has also generously been donating pro bono hosting for the forum for many years, and, of course, it uses a Let&amp;rsquo;s Encrypt certificate.&lt;/p&gt;
&lt;p&gt;The volunteers on the Let&amp;rsquo;s Encrypt forum have made a huge contribution to Let&amp;rsquo;s Encrypt&amp;rsquo;s success. It&amp;rsquo;s easy to imagine that many users might have given up on Let&amp;rsquo;s Encrypt in frustration were it not for the efforts of dedicated volunteers to draw out the necessary details, notice the relevant issues, and patiently explain concepts that were confusing people. There are also volunteer moderators who&amp;rsquo;ve worked hard to keep the forum on track, stop spam, and defuse distracting conflicts. Thanks to all of you.&lt;/p&gt;
&lt;p&gt;Several software projects have been informed by discussions and issues on the forum, as developers there found opportunities to help large numbers of users. I would particularly highlight Alex Zorin&amp;rsquo;s &lt;a href="https://letsdebug.net/"&gt;Let&amp;rsquo;s Debug&lt;/a&gt; and Jonathan Griffin&amp;rsquo;s &lt;a href="https://certsage.com/"&gt;CertSage&lt;/a&gt; as examples in this category. Let&amp;rsquo;s Debug runs a series of practical live tests on a specified site to help users figure out why certificate issuance is failing, giving useful explanations of many of the most common failure reasons. CertSage is a client meant for users who have hosting plans without native support for Let&amp;rsquo;s Encrypt, and without administrative access&amp;mdash;but where they can run PHP scripts. These projects grew out of Alex&amp;rsquo;s and Jonathan&amp;rsquo;s experiences helping users on the forum and seeing the kinds of issues that came up repeatedly there. Joona Hoikkala&amp;rsquo;s helpful &lt;a href="https://github.com/joohoi/acme-dns"&gt;acme-dns&lt;/a&gt;, which helps subscribers complete the ACME DNS challenge with a dedicated service instead of using an existing DNS server, also helped respond to a common issue that brought many people to the forum.&lt;/p&gt;
&lt;p&gt;I would also like to thank Jacob Hoffman-Andrews for his early efforts to set a positive and welcoming tone on the forum. Jacob and other forum administrators always reminded the community to be patient and welcoming to each visitor, emphasizing that the forum was many users&amp;rsquo; first interaction with Let&amp;rsquo;s Encrypt, and that users ought to be welcomed regardless of their expertise or background (and regardless of whether their questions had been asked before by others).&lt;/p&gt;</summary>
    <published>2025-10-06T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2025/09/16/ari-rfc.html</id>
    <title>ACME Renewal Information (ARI) Published as RFC 9773</title>
    <updated>2025-09-15T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;p&gt;Let&amp;rsquo;s Encrypt has been proud to work with the &lt;a href="https://www.ietf.org/"&gt;IETF&lt;/a&gt; to maintain ACME as an open standard since we first developed the technology a decade ago. We&amp;rsquo;re happy to announce that IETF has published our latest addition to the ACME protocol, &lt;a href="https://www.rfc-editor.org/rfc/rfc9773.html"&gt;ACME Renewal Information (ARI)&lt;/a&gt;, as RFC 9773. ARI helps keep the renewal process reliable during unexpected events affecting certificate validity.&lt;/p&gt;
&lt;p&gt;Since the ACME protocol was first published as &lt;a href="https://www.rfc-editor.org/rfc/rfc8555"&gt;RFC 8555&lt;/a&gt;, the IETF &lt;a href="https://datatracker.ietf.org/wg/acme/about/"&gt;ACME working group&lt;/a&gt; has remained active, defining various extensions to the original ACME protocol, initiated either by Let&amp;rsquo;s Encrypt or by colleagues from other organizations. For example, ACME WG documents have specified how to validate kinds of identifiers other than domain names, making it possible to use ACME to &lt;a href="https://letsencrypt.org/2025/07/01/issuing-our-first-ip-address-certificate/"&gt;issue certificates for IP addresses&lt;/a&gt;, or even in PKIs other than the web PKI.&lt;/p&gt;
&lt;p&gt;The publication of RFC 9773 is the culmination of a process that began in September 2021 with the first ARI draft. Along the way, numerous colleagues from Let&amp;rsquo;s Encrypt and elsewhere (thanked individually at the end of this post) contributed to the ARI specification and helped improve it.&lt;/p&gt;
&lt;h2 id="why-implement-ari"&gt;Why implement ARI?&lt;/h2&gt;
&lt;p&gt;This is a good opportunity to remind our community about ARI and how implementing it can help users. If you&amp;rsquo;re an ACME client user, you may want to check the documentation for your client to see if it has implemented ARI yet. New functionality like this is a great reason to make sure you&amp;rsquo;re using up-to-date ACME client software. If you&amp;rsquo;re a client developer, questions about ARI implementation are welcome in the Community Forum&amp;rsquo;s &lt;a href="https://community.letsencrypt.org/c/client-dev/14"&gt;Client Dev category&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sometimes certificate authorities, including Let&amp;rsquo;s Encrypt, may perform mass revocations of an entire group or category of certificates. This most often happens when someone discovers that a certificate authority has made a mistake in how it validates or issues certificates, or has made a misstatement in how it describes its policies and procedures. In this case, the CA is required to revoke the affected certificates. This may happen through absolutely no fault of the subscribers. For example, in January 2022, &lt;a href="https://community.letsencrypt.org/t/2022-01-25-issue-with-tls-alpn-01-validation-method/170450"&gt;we had to revoke approximately two million certificates&lt;/a&gt; due to a technical error in our validation processes.&lt;/p&gt;
&lt;p&gt;When we have to revoke certificates, we want to make sure that the websites using those certificates don&amp;rsquo;t experience issues. That means those websites need to re-request issuance and install new certificates. Since CAs are sometimes required to revoke certificates on a 24 hour timeline or a 5 day timeline (depending on the nature of the incident), a process that relies on manual intervention from system administrators won&amp;rsquo;t reach most websites in time.&lt;/p&gt;
&lt;p&gt;ARI allows a certificate authority to advise a client to perform an early renewal of a certificate that the client would have anticipated did not need to be renewed yet, broadly because the CA knows that an early renewal is helpful, or necessary, in particular circumstances. In the mass revocation scenario, this allows ARI-aware clients to avoid outages due to certificate invalidity, because they can replace their certificates even before the revocation occurs.&lt;/p&gt;
&lt;p&gt;Of course, we and other certificate authorities work diligently to prevent mass revocation events. We&amp;rsquo;re encouraging ARI implementation as a form of emergency preparedness that can significantly mitigate the impact of this kind of problem, if and when it happens.&lt;/p&gt;
&lt;p&gt;ARI also provides features to reduce the impact of load spikes where too many clients request certificates in a short period of time. Let&amp;rsquo;s Encrypt doesn&amp;rsquo;t need to use ARI for this today, because other improvements in popular clients&amp;rsquo; renewal practices have already sufficiently smoothed out our load spikes. Even so, this will be a valuable ability for all ACME CAs to have available in the long term to better manage emergencies and disruptions.&lt;/p&gt;
&lt;p&gt;On the server side, we added support for the ARI draft specification to our Boulder CA software in late 2021, so the Let&amp;rsquo;s Encrypt CA has supported ARI for some time. If you are implementing ARI in your own client, the &lt;a href="https://github.com/letsencrypt/pebble"&gt;Pebble ACME test-bed&lt;/a&gt; also supports ARI so you can test against that implementation.&lt;/p&gt;
&lt;h2 id="thanks"&gt;Thanks&lt;/h2&gt;
&lt;p&gt;Thanks to all of the people who contributed to this process at the ACME WG and elsewhere, including:  Roland Shoemaker and Jacob Hoffman-Andrews for coming up with the initial idea of ARI and for helping me learn the IETF process; Samantha Frank, Matt Holt, Ilari Liusvaara, and Wouter Tinus for contributing client implementations; Freddy Zhang for contributing an independent server implementation; and Rob Stradling, Andrew Ayer, and J.C. Jones for providing meaningful feedback and suggestions that significantly improved this specification.&lt;/p&gt;
&lt;p&gt;Finally, our congratulations also to Q Misell for the recent publication of &lt;a href="https://www.rfc-editor.org/rfc/rfc9799.html"&gt;RFC 9799&lt;/a&gt;, another ACME WG document that went through the standards process alongside ARI.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2025/09/16/ari-rfc.html"/>
    <summary type="html">&lt;p&gt;Let&amp;rsquo;s Encrypt has been proud to work with the &lt;a href="https://www.ietf.org/"&gt;IETF&lt;/a&gt; to maintain ACME as an open standard since we first developed the technology a decade ago. We&amp;rsquo;re happy to announce that IETF has published our latest addition to the ACME protocol, &lt;a href="https://www.rfc-editor.org/rfc/rfc9773.html"&gt;ACME Renewal Information (ARI)&lt;/a&gt;, as RFC 9773. ARI helps keep the renewal process reliable during unexpected events affecting certificate validity.&lt;/p&gt;
&lt;p&gt;Since the ACME protocol was first published as &lt;a href="https://www.rfc-editor.org/rfc/rfc8555"&gt;RFC 8555&lt;/a&gt;, the IETF &lt;a href="https://datatracker.ietf.org/wg/acme/about/"&gt;ACME working group&lt;/a&gt; has remained active, defining various extensions to the original ACME protocol, initiated either by Let&amp;rsquo;s Encrypt or by colleagues from other organizations. For example, ACME WG documents have specified how to validate kinds of identifiers other than domain names, making it possible to use ACME to &lt;a href="https://letsencrypt.org/2025/07/01/issuing-our-first-ip-address-certificate/"&gt;issue certificates for IP addresses&lt;/a&gt;, or even in PKIs other than the web PKI.&lt;/p&gt;
&lt;p&gt;The publication of RFC 9773 is the culmination of a process that began in September 2021 with the first ARI draft. Along the way, numerous colleagues from Let&amp;rsquo;s Encrypt and elsewhere (thanked individually at the end of this post) contributed to the ARI specification and helped improve it.&lt;/p&gt;
&lt;h2 id="why-implement-ari"&gt;Why implement ARI?&lt;/h2&gt;
&lt;p&gt;This is a good opportunity to remind our community about ARI and how implementing it can help users. If you&amp;rsquo;re an ACME client user, you may want to check the documentation for your client to see if it has implemented ARI yet. New functionality like this is a great reason to make sure you&amp;rsquo;re using up-to-date ACME client software. If you&amp;rsquo;re a client developer, questions about ARI implementation are welcome in the Community Forum&amp;rsquo;s &lt;a href="https://community.letsencrypt.org/c/client-dev/14"&gt;Client Dev category&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sometimes certificate authorities, including Let&amp;rsquo;s Encrypt, may perform mass revocations of an entire group or category of certificates. This most often happens when someone discovers that a certificate authority has made a mistake in how it validates or issues certificates, or has made a misstatement in how it describes its policies and procedures. In this case, the CA is required to revoke the affected certificates. This may happen through absolutely no fault of the subscribers. For example, in January 2022, &lt;a href="https://community.letsencrypt.org/t/2022-01-25-issue-with-tls-alpn-01-validation-method/170450"&gt;we had to revoke approximately two million certificates&lt;/a&gt; due to a technical error in our validation processes.&lt;/p&gt;
&lt;p&gt;When we have to revoke certificates, we want to make sure that the websites using those certificates don&amp;rsquo;t experience issues. That means those websites need to re-request issuance and install new certificates. Since CAs are sometimes required to revoke certificates on a 24 hour timeline or a 5 day timeline (depending on the nature of the incident), a process that relies on manual intervention from system administrators won&amp;rsquo;t reach most websites in time.&lt;/p&gt;
&lt;p&gt;ARI allows a certificate authority to advise a client to perform an early renewal of a certificate that the client would have anticipated did not need to be renewed yet, broadly because the CA knows that an early renewal is helpful, or necessary, in particular circumstances. In the mass revocation scenario, this allows ARI-aware clients to avoid outages due to certificate invalidity, because they can replace their certificates even before the revocation occurs.&lt;/p&gt;
&lt;p&gt;Of course, we and other certificate authorities work diligently to prevent mass revocation events. We&amp;rsquo;re encouraging ARI implementation as a form of emergency preparedness that can significantly mitigate the impact of this kind of problem, if and when it happens.&lt;/p&gt;
&lt;p&gt;ARI also provides features to reduce the impact of load spikes where too many clients request certificates in a short period of time. Let&amp;rsquo;s Encrypt doesn&amp;rsquo;t need to use ARI for this today, because other improvements in popular clients&amp;rsquo; renewal practices have already sufficiently smoothed out our load spikes. Even so, this will be a valuable ability for all ACME CAs to have available in the long term to better manage emergencies and disruptions.&lt;/p&gt;
&lt;p&gt;On the server side, we added support for the ARI draft specification to our Boulder CA software in late 2021, so the Let&amp;rsquo;s Encrypt CA has supported ARI for some time. If you are implementing ARI in your own client, the &lt;a href="https://github.com/letsencrypt/pebble"&gt;Pebble ACME test-bed&lt;/a&gt; also supports ARI so you can test against that implementation.&lt;/p&gt;
&lt;h2 id="thanks"&gt;Thanks&lt;/h2&gt;
&lt;p&gt;Thanks to all of the people who contributed to this process at the ACME WG and elsewhere, including:  Roland Shoemaker and Jacob Hoffman-Andrews for coming up with the initial idea of ARI and for helping me learn the IETF process; Samantha Frank, Matt Holt, Ilari Liusvaara, and Wouter Tinus for contributing client implementations; Freddy Zhang for contributing an independent server implementation; and Rob Stradling, Andrew Ayer, and J.C. Jones for providing meaningful feedback and suggestions that significantly improved this specification.&lt;/p&gt;
&lt;p&gt;Finally, our congratulations also to Q Misell for the recent publication of &lt;a href="https://www.rfc-editor.org/rfc/rfc9799.html"&gt;RFC 9799&lt;/a&gt;, another ACME WG document that went through the standards process alongside ARI.&lt;/p&gt;</summary>
    <published>2025-09-15T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2025/09/11/native-acme-for-nginx.html</id>
    <title>Native ACME Support Comes to NGINX</title>
    <updated>2025-09-10T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;div class="pull-quote-right"&gt;
  &lt;blockquote class="blockquote"&gt;
    &lt;span class="quote"&gt;&lt;/span&gt;
    &lt;div class="quote-text"&gt;
      &lt;p class="quote-text-value"&gt;NGINX and Let's Encrypt share a common vision of an open and secure web. Now, with built-in support for ACME, the world's most popular web server, reverse proxy and ingress controller for Kubernetes can simplify certificate management for everyone. From the home lab to scaled-out, mission-critical enterprise deployments.&lt;/p&gt;
      &lt;footer class="blockquote-footer"&gt;&lt;span class="blockquote-mdash"&gt;&amp;mdash;&lt;/span&gt; &lt;cite title="Source Title"&gt;Liam Crilly&lt;/cite&gt;, Sr Dir, Product Management, F5 NGINX&lt;/footer&gt;
    &lt;/div&gt;
  &lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;Our ideal has always been that server software could get and renew Let&amp;rsquo;s Encrypt certificates automatically, with minimal human intervention.&lt;/p&gt;
&lt;p&gt;Over time, more and more web servers and hosting environments have become capable of that, often via native ACME and Let&amp;rsquo;s Encrypt integrations that allow users to manage certificates without third-party tools. On August 12, the popular open source web server NGINX &lt;a href="https://blog.nginx.org/blog/native-support-for-acme-protocol"&gt;announced support&lt;/a&gt; for ACME with their official &lt;a href="https://nginx.org/en/docs/http/ngx_http_acme_module.html"&gt;ngx_http_acme module&lt;/a&gt; (implemented with memory safe Rust code!).&lt;/p&gt;
&lt;p&gt;NGINX is one of the most widely used pieces of software for operating a web server or proxy. In directly supporting ACME, NGINX joins other web servers like &lt;a href="https://traefik.io/traefik"&gt;Traefik&lt;/a&gt;, &lt;a href="https://caddyserver.com/"&gt;Caddy&lt;/a&gt; and &lt;a href="https://httpd.apache.org/docs/2.4/mod/mod_md.html"&gt;Apache httpd&lt;/a&gt; that can directly take advantage of certificates from Let&amp;rsquo;s Encrypt and other ACME Certificate Authorities. NGINX&amp;rsquo;s new support for ACME, together with other servers, means a significant majority of sites can now have native ACME support. Many other software environments, hosting plans, and devices also offer built-in official support for ACME.&lt;/p&gt;
&lt;p&gt;Users have a wide range of choices to achieve integrations for their particular hosting environments. Native support in web servers is an option &lt;a href="https://letsencrypt.org/docs/client-options/"&gt;alongside third-party clients&lt;/a&gt; that can integrate with many of those same web servers. Native support typically provides more seamless integration, and it&amp;rsquo;s less work for operators since they don&amp;rsquo;t have to manage a separate ACME client. Having more tools that take care of certificates automatically helps us achieve our goal of &lt;a href="https://letsencrypt.org/stats/"&gt;encrypting more and more of the web&lt;/a&gt;, while reducing the amount of time and energy site operators have to spend.&lt;/p&gt;
&lt;p&gt;Other project developers interested in integrating ACME more directly can &lt;a href="https://letsencrypt.org/docs/#client-developer-information"&gt;read about the ACME protocol&lt;/a&gt;, find existing &lt;a href="https://letsencrypt.org/docs/client-options/#libraries"&gt;ACME library implementations&lt;/a&gt; and other reusable software components, and join the &lt;a href="https://community.letsencrypt.org/c/client-dev/14"&gt;Client Dev conversation on our Community Forum&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;d like to thank NGINX and their parent company, F5, for their sponsorship of Let&amp;rsquo;s Encrypt. This financial support helps us provide a trusted and reliable service to nearly 700 million websites.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2025/09/11/native-acme-for-nginx.html"/>
    <summary type="html">&lt;div class="pull-quote-right"&gt;
  &lt;blockquote class="blockquote"&gt;
    &lt;span class="quote"&gt;&lt;/span&gt;
    &lt;div class="quote-text"&gt;
      &lt;p class="quote-text-value"&gt;NGINX and Let's Encrypt share a common vision of an open and secure web. Now, with built-in support for ACME, the world's most popular web server, reverse proxy and ingress controller for Kubernetes can simplify certificate management for everyone. From the home lab to scaled-out, mission-critical enterprise deployments.&lt;/p&gt;
      &lt;footer class="blockquote-footer"&gt;&lt;span class="blockquote-mdash"&gt;&amp;mdash;&lt;/span&gt; &lt;cite title="Source Title"&gt;Liam Crilly&lt;/cite&gt;, Sr Dir, Product Management, F5 NGINX&lt;/footer&gt;
    &lt;/div&gt;
  &lt;/blockquote&gt;
&lt;/div&gt;
&lt;p&gt;Our ideal has always been that server software could get and renew Let&amp;rsquo;s Encrypt certificates automatically, with minimal human intervention.&lt;/p&gt;
&lt;p&gt;Over time, more and more web servers and hosting environments have become capable of that, often via native ACME and Let&amp;rsquo;s Encrypt integrations that allow users to manage certificates without third-party tools. On August 12, the popular open source web server NGINX &lt;a href="https://blog.nginx.org/blog/native-support-for-acme-protocol"&gt;announced support&lt;/a&gt; for ACME with their official &lt;a href="https://nginx.org/en/docs/http/ngx_http_acme_module.html"&gt;ngx_http_acme module&lt;/a&gt; (implemented with memory safe Rust code!).&lt;/p&gt;
&lt;p&gt;NGINX is one of the most widely used pieces of software for operating a web server or proxy. In directly supporting ACME, NGINX joins other web servers like &lt;a href="https://traefik.io/traefik"&gt;Traefik&lt;/a&gt;, &lt;a href="https://caddyserver.com/"&gt;Caddy&lt;/a&gt; and &lt;a href="https://httpd.apache.org/docs/2.4/mod/mod_md.html"&gt;Apache httpd&lt;/a&gt; that can directly take advantage of certificates from Let&amp;rsquo;s Encrypt and other ACME Certificate Authorities. NGINX&amp;rsquo;s new support for ACME, together with other servers, means a significant majority of sites can now have native ACME support. Many other software environments, hosting plans, and devices also offer built-in official support for ACME.&lt;/p&gt;
&lt;p&gt;Users have a wide range of choices to achieve integrations for their particular hosting environments. Native support in web servers is an option &lt;a href="https://letsencrypt.org/docs/client-options/"&gt;alongside third-party clients&lt;/a&gt; that can integrate with many of those same web servers. Native support typically provides more seamless integration, and it&amp;rsquo;s less work for operators since they don&amp;rsquo;t have to manage a separate ACME client. Having more tools that take care of certificates automatically helps us achieve our goal of &lt;a href="https://letsencrypt.org/stats/"&gt;encrypting more and more of the web&lt;/a&gt;, while reducing the amount of time and energy site operators have to spend.&lt;/p&gt;
&lt;p&gt;Other project developers interested in integrating ACME more directly can &lt;a href="https://letsencrypt.org/docs/#client-developer-information"&gt;read about the ACME protocol&lt;/a&gt;, find existing &lt;a href="https://letsencrypt.org/docs/client-options/#libraries"&gt;ACME library implementations&lt;/a&gt; and other reusable software components, and join the &lt;a href="https://community.letsencrypt.org/c/client-dev/14"&gt;Client Dev conversation on our Community Forum&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;d like to thank NGINX and their parent company, F5, for their sponsorship of Let&amp;rsquo;s Encrypt. This financial support helps us provide a trusted and reliable service to nearly 700 million websites.&lt;/p&gt;</summary>
    <published>2025-09-10T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2025/08/14/rfc-6962-logs-eol.html</id>
    <title>End of Life Plan for RFC 6962 Certificate Transparency Logs</title>
    <updated>2025-08-13T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Update, August 18, 2025&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We have updated the read-only and shutdown dates to ensure that our new Static CT API logs are fully trusted by browsers before switching Oak to read-only in order to avoid any disruption.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Let’s Encrypt operates two types of Certificate Transparency (“CT”) logs—some implement the original &lt;a href="https://datatracker.ietf.org/doc/html/rfc6962"&gt;RFC 6962 API&lt;/a&gt;, and some that implement the newer &lt;a href="https://github.com/C2SP/C2SP/blob/main/static-ct-api.md"&gt;Static CT API&lt;/a&gt;. Today we are announcing that on &lt;strong&gt;November 30, 2025&lt;/strong&gt;, we will make our RFC 6962 logs read-only. Past that date, we will write only to our Static CT logs. On &lt;strong&gt;February 28, 2026&lt;/strong&gt;, we will entirely shut down our RFC 6962 logs.&lt;/p&gt;
&lt;p&gt;End users (consumers or relying parties) of Web PKI certificates do not need to take any action. The work that needs to be done to make this transition will be handled by Let’s Encrypt and the browsers.&lt;/p&gt;
&lt;p&gt;RFC 6962 is from June of 2013 and describes the original version of CT. It was a revolutionary upgrade for transparency in the Web PKI, ultimately allowing anyone to monitor issuance from all certificate authorities. Over time, though, growth in certificate issuance volume has revealed that the original CT design doesn’t scale well enough. Let’s Encrypt currently issues more publicly trusted certificates in a single day than existed in total during 2013.&lt;/p&gt;
&lt;h2 id="what-are-the-issues-with-rfc-6962-logs"&gt;What are the issues with RFC 6962 logs?&lt;/h2&gt;
&lt;h3 id="cost"&gt;Cost&lt;/h3&gt;
&lt;p&gt;The first issue with RFC 6962 logs is the high cost of running them, particularly at Web scale, which has significantly limited the number of entities willing to operate them. Annual cloud costs for our logs are approaching seven figures.&lt;/p&gt;
&lt;p&gt;The biggest contributor to this is that the data is stored in a relational database. We’ve scaled that up by splitting each year’s worth of data into a “shard” with its own database, and then later shrinking the shards to cover six months instead of a full year.&lt;/p&gt;
&lt;p&gt;The approach of splitting into more and more databases is not something we want to continue doing forever, as the operational burden and costs increase. The current storage size of a CT log shard is between 7 and 10 terabytes. That’s big enough to be concerning for a single database: we previously had a test log fail when we ran into a 16 TiB limit in MySQL.&lt;/p&gt;
&lt;p&gt;Scaling read capacity up requires large database instances with fast disks and lots of RAM, which are not cheap. We’ve had numerous instances of CT logs becoming overloaded by clients attempting to read all the data in the log, overloading the database in the process. When rate limits are imposed to prevent overloading, clients are forced to slowly crawl the API, diminishing CT’s efficiency as a fast mechanism for detecting mis-issued certificates. Ideally, clients should be able to obtain copies of the whole log in a relatively short time, but the traditional API has made that impractical.&lt;/p&gt;
&lt;h3 id="availability"&gt;Availability&lt;/h3&gt;
&lt;p&gt;The second issue with RFC 6962 logs is the potential for problems and non-compliance when the period called a Maximum Merge Delay (“MMD”) is exceeded.&lt;/p&gt;
&lt;p&gt;One of the goals of CT was to have limited latency for submission to the logs. The Merge Delay design feature was added to guarantee that property. When receiving a new certificate submission, a CT log can return a Signed Certificate Timestamp (SCT) immediately, with a promise to include it in the log within the log’s MMD, conventionally 24 hours. While this seems like a good tradeoff to avoid the alternative of slowing down certificate issuance, there have been multiple incidents in which important logs have exceeded their maximum merge delay, breaking that promise.&lt;/p&gt;
&lt;p&gt;If the log does not integrate the certificate within the MMD window, the log is out of compliance and can be distrusted. If a log is distrusted, it’s disruptive for the operators and those who depend on it, and there are fewer logs for the ecosystem to rely on.&lt;/p&gt;
&lt;h2 id="how-does-the-new-type-of-log-resolve-these-issues"&gt;How does the new type of log resolve these issues?&lt;/h2&gt;
&lt;p&gt;In 2023 Filippo Valsorda suggested a new API for CT logs that avoids both of these issues—the Static CT API. The Static CT API for submitting certificates to logs is the same as RFC 6962, but the API for retrieving certificate information is quite different and the MMD is eliminated. The result is logs that are much more cost effective to operate and have better availability. We previously discussed our experiences testing out the new design in &amp;ldquo;&lt;a href="https://letsencrypt.org/2025/06/11/reflections-on-a-year-of-sunlight/"&gt;Reflections on a Year of Sunlight&lt;/a&gt;.&amp;rdquo;&lt;/p&gt;
&lt;h3 id="serving-tiles"&gt;Serving Tiles&lt;/h3&gt;
&lt;p&gt;Certificate Transparency logs are a binary tree, with every node containing a hash of its two children. The “leaf” level contains the actual entries of the log: the certificates, appended to the right side of the tree. The top of the tree is digitally signed. This forms a cryptographically verifiable structure called a Merkle Tree, which can be used to check if a certificate is in the tree, and that the tree is append-only.&lt;/p&gt;
&lt;p&gt;Static CT tiles are files containing 256 elements each, either hashes at a certain tree “height” or certificates (or pre-certificates) at the leaf level. Russ Cox has a great &lt;a href="https://research.swtch.com/tlog#tiling_a_log"&gt;explanation of how tiles work&lt;/a&gt; on his blog, or you can read the &lt;a href="https://github.com/C2SP/C2SP/blob/main/static-ct-api.md#merkle-tree"&gt;relevant section of the Static CT specification&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Unlike the dynamic endpoints in the RFC 6962 API, serving a tree as tiles doesn’t require any dynamic computation or request processing, so we can eliminate the need for API servers. Because the tiles are static, they’re efficiently cached, in contrast with CT APIs like get-proof-by-hash, which have a different response for every certificate, so there’s no shared cache. The leaf tiles can also be stored compressed, saving even more storage!&lt;/p&gt;
&lt;p&gt;The idea of exposing the log as a series of static tiles is motivated by our desire to scale out the read path horizontally and relatively inexpensively. We can directly expose tiles in cloud object storage like S3, use a caching CDN, or use a webserver and a filesystem.&lt;/p&gt;
&lt;p&gt;Object or file storage is readily available, can scale up easily, and costs significantly less than databases from cloud providers. It seemed like the obvious path forward. In fact, we already have an S3-backed cache in front of our existing CT logs, which means we are currently storing our data twice.&lt;/p&gt;
&lt;h3 id="no-more-merge-delay"&gt;No More Merge Delay&lt;/h3&gt;
&lt;p&gt;Static CT takes a different approach to adding certificates to the log while maintaining the same external submission API as RFC 6962. Static CT logs hold submissions while it batches and integrates certificates in the log, eliminating the merge delay. While this leads to a small latency increase, we think it’s worthwhile to avoid one of the more common CT log failure cases.&lt;/p&gt;
&lt;p&gt;It also lets us embed the final leaf index in an extension of our SCTs, bringing CT a step closer to direct client verification of Merkle tree proofs. The extension also makes it possible for clients to fetch the proof of log inclusion from the new static tile-based APIs, without requiring server-side lookup tables or databases.&lt;/p&gt;
&lt;h2 id="going-forward"&gt;Going Forward&lt;/h2&gt;
&lt;p&gt;Let’s Encrypt has submitted new Static CT API logs for inclusion in certificate transparency programs. We expect these logs to be included and trusted prior to the read-only date for our RFC 6962 logs, and we will begin submitting our certificates to them as soon as possible.&lt;/p&gt;
&lt;p&gt;We may stop submitting our own certificates to our RFC 6962 logs prior to the read-only date, but other CAs will be able to write certificates to our RFC 6962 logs until the read-only date.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;The Static CT API has proven to be operationally better and more scalable than the RFC 6962 design in almost every way. With the substantial increase in certificate volume over time, we need that improved efficiency to make running CT logs cost-effective. As a result, we’re switching fully to the new log architecture in order to make the best use of our resources. The Static CT API logs we operate will provide exactly the same security and transparency benefits as our old RFC 6962 log did.&lt;/p&gt;
&lt;p&gt;As we explained above, this requires no changes at all for end users. It may require configuration changes on the part of certificate authorities that have been submitting certs to our old log (they can start submitting to one or both of our new logs instead). It also requires software updates for ecosystem participants who monitor logs; they’ll need to ensure that they have client software that’s compatible with the new API. Overall, this change should help ensure that our CT logging continues to be able to grow with the Web PKI.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2025/08/14/rfc-6962-logs-eol.html"/>
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Update, August 18, 2025&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We have updated the read-only and shutdown dates to ensure that our new Static CT API logs are fully trusted by browsers before switching Oak to read-only in order to avoid any disruption.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Let’s Encrypt operates two types of Certificate Transparency (“CT”) logs—some implement the original &lt;a href="https://datatracker.ietf.org/doc/html/rfc6962"&gt;RFC 6962 API&lt;/a&gt;, and some that implement the newer &lt;a href="https://github.com/C2SP/C2SP/blob/main/static-ct-api.md"&gt;Static CT API&lt;/a&gt;. Today we are announcing that on &lt;strong&gt;November 30, 2025&lt;/strong&gt;, we will make our RFC 6962 logs read-only. Past that date, we will write only to our Static CT logs. On &lt;strong&gt;February 28, 2026&lt;/strong&gt;, we will entirely shut down our RFC 6962 logs.&lt;/p&gt;
&lt;p&gt;End users (consumers or relying parties) of Web PKI certificates do not need to take any action. The work that needs to be done to make this transition will be handled by Let’s Encrypt and the browsers.&lt;/p&gt;
&lt;p&gt;RFC 6962 is from June of 2013 and describes the original version of CT. It was a revolutionary upgrade for transparency in the Web PKI, ultimately allowing anyone to monitor issuance from all certificate authorities. Over time, though, growth in certificate issuance volume has revealed that the original CT design doesn’t scale well enough. Let’s Encrypt currently issues more publicly trusted certificates in a single day than existed in total during 2013.&lt;/p&gt;
&lt;h2 id="what-are-the-issues-with-rfc-6962-logs"&gt;What are the issues with RFC 6962 logs?&lt;/h2&gt;
&lt;h3 id="cost"&gt;Cost&lt;/h3&gt;
&lt;p&gt;The first issue with RFC 6962 logs is the high cost of running them, particularly at Web scale, which has significantly limited the number of entities willing to operate them. Annual cloud costs for our logs are approaching seven figures.&lt;/p&gt;
&lt;p&gt;The biggest contributor to this is that the data is stored in a relational database. We’ve scaled that up by splitting each year’s worth of data into a “shard” with its own database, and then later shrinking the shards to cover six months instead of a full year.&lt;/p&gt;
&lt;p&gt;The approach of splitting into more and more databases is not something we want to continue doing forever, as the operational burden and costs increase. The current storage size of a CT log shard is between 7 and 10 terabytes. That’s big enough to be concerning for a single database: we previously had a test log fail when we ran into a 16 TiB limit in MySQL.&lt;/p&gt;
&lt;p&gt;Scaling read capacity up requires large database instances with fast disks and lots of RAM, which are not cheap. We’ve had numerous instances of CT logs becoming overloaded by clients attempting to read all the data in the log, overloading the database in the process. When rate limits are imposed to prevent overloading, clients are forced to slowly crawl the API, diminishing CT’s efficiency as a fast mechanism for detecting mis-issued certificates. Ideally, clients should be able to obtain copies of the whole log in a relatively short time, but the traditional API has made that impractical.&lt;/p&gt;
&lt;h3 id="availability"&gt;Availability&lt;/h3&gt;
&lt;p&gt;The second issue with RFC 6962 logs is the potential for problems and non-compliance when the period called a Maximum Merge Delay (“MMD”) is exceeded.&lt;/p&gt;
&lt;p&gt;One of the goals of CT was to have limited latency for submission to the logs. The Merge Delay design feature was added to guarantee that property. When receiving a new certificate submission, a CT log can return a Signed Certificate Timestamp (SCT) immediately, with a promise to include it in the log within the log’s MMD, conventionally 24 hours. While this seems like a good tradeoff to avoid the alternative of slowing down certificate issuance, there have been multiple incidents in which important logs have exceeded their maximum merge delay, breaking that promise.&lt;/p&gt;
&lt;p&gt;If the log does not integrate the certificate within the MMD window, the log is out of compliance and can be distrusted. If a log is distrusted, it’s disruptive for the operators and those who depend on it, and there are fewer logs for the ecosystem to rely on.&lt;/p&gt;
&lt;h2 id="how-does-the-new-type-of-log-resolve-these-issues"&gt;How does the new type of log resolve these issues?&lt;/h2&gt;
&lt;p&gt;In 2023 Filippo Valsorda suggested a new API for CT logs that avoids both of these issues—the Static CT API. The Static CT API for submitting certificates to logs is the same as RFC 6962, but the API for retrieving certificate information is quite different and the MMD is eliminated. The result is logs that are much more cost effective to operate and have better availability. We previously discussed our experiences testing out the new design in &amp;ldquo;&lt;a href="https://letsencrypt.org/2025/06/11/reflections-on-a-year-of-sunlight/"&gt;Reflections on a Year of Sunlight&lt;/a&gt;.&amp;rdquo;&lt;/p&gt;
&lt;h3 id="serving-tiles"&gt;Serving Tiles&lt;/h3&gt;
&lt;p&gt;Certificate Transparency logs are a binary tree, with every node containing a hash of its two children. The “leaf” level contains the actual entries of the log: the certificates, appended to the right side of the tree. The top of the tree is digitally signed. This forms a cryptographically verifiable structure called a Merkle Tree, which can be used to check if a certificate is in the tree, and that the tree is append-only.&lt;/p&gt;
&lt;p&gt;Static CT tiles are files containing 256 elements each, either hashes at a certain tree “height” or certificates (or pre-certificates) at the leaf level. Russ Cox has a great &lt;a href="https://research.swtch.com/tlog#tiling_a_log"&gt;explanation of how tiles work&lt;/a&gt; on his blog, or you can read the &lt;a href="https://github.com/C2SP/C2SP/blob/main/static-ct-api.md#merkle-tree"&gt;relevant section of the Static CT specification&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Unlike the dynamic endpoints in the RFC 6962 API, serving a tree as tiles doesn’t require any dynamic computation or request processing, so we can eliminate the need for API servers. Because the tiles are static, they’re efficiently cached, in contrast with CT APIs like get-proof-by-hash, which have a different response for every certificate, so there’s no shared cache. The leaf tiles can also be stored compressed, saving even more storage!&lt;/p&gt;
&lt;p&gt;The idea of exposing the log as a series of static tiles is motivated by our desire to scale out the read path horizontally and relatively inexpensively. We can directly expose tiles in cloud object storage like S3, use a caching CDN, or use a webserver and a filesystem.&lt;/p&gt;
&lt;p&gt;Object or file storage is readily available, can scale up easily, and costs significantly less than databases from cloud providers. It seemed like the obvious path forward. In fact, we already have an S3-backed cache in front of our existing CT logs, which means we are currently storing our data twice.&lt;/p&gt;
&lt;h3 id="no-more-merge-delay"&gt;No More Merge Delay&lt;/h3&gt;
&lt;p&gt;Static CT takes a different approach to adding certificates to the log while maintaining the same external submission API as RFC 6962. Static CT logs hold submissions while it batches and integrates certificates in the log, eliminating the merge delay. While this leads to a small latency increase, we think it’s worthwhile to avoid one of the more common CT log failure cases.&lt;/p&gt;
&lt;p&gt;It also lets us embed the final leaf index in an extension of our SCTs, bringing CT a step closer to direct client verification of Merkle tree proofs. The extension also makes it possible for clients to fetch the proof of log inclusion from the new static tile-based APIs, without requiring server-side lookup tables or databases.&lt;/p&gt;
&lt;h2 id="going-forward"&gt;Going Forward&lt;/h2&gt;
&lt;p&gt;Let’s Encrypt has submitted new Static CT API logs for inclusion in certificate transparency programs. We expect these logs to be included and trusted prior to the read-only date for our RFC 6962 logs, and we will begin submitting our certificates to them as soon as possible.&lt;/p&gt;
&lt;p&gt;We may stop submitting our own certificates to our RFC 6962 logs prior to the read-only date, but other CAs will be able to write certificates to our RFC 6962 logs until the read-only date.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;The Static CT API has proven to be operationally better and more scalable than the RFC 6962 design in almost every way. With the substantial increase in certificate volume over time, we need that improved efficiency to make running CT logs cost-effective. As a result, we’re switching fully to the new log architecture in order to make the best use of our resources. The Static CT API logs we operate will provide exactly the same security and transparency benefits as our old RFC 6962 log did.&lt;/p&gt;
&lt;p&gt;As we explained above, this requires no changes at all for end users. It may require configuration changes on the part of certificate authorities that have been submitting certs to our old log (they can start submitting to one or both of our new logs instead). It also requires software updates for ecosystem participants who monitor logs; they’ll need to ensure that they have client software that’s compatible with the new API. Overall, this change should help ensure that our CT logging continues to be able to grow with the Web PKI.&lt;/p&gt;</summary>
    <published>2025-08-13T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2025/08/06/ocsp-service-has-reached-end-of-life.html</id>
    <title>OCSP Service Has Reached End of Life</title>
    <updated>2025-08-05T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;p&gt;Today we turned off our Online Certificate Status Protocol (OCSP) service, as &lt;a href="https://letsencrypt.org/2024/12/05/ending-ocsp/"&gt;announced&lt;/a&gt; in December of last year. We stopped including OCSP URLs in our certificates more than 90 days ago, so all Let&amp;rsquo;s Encrypt certificates that contained OCSP URLs have now expired. Going forward, we will publish revocation information exclusively via Certificate Revocation Lists (CRLs).&lt;/p&gt;
&lt;p&gt;We ended support for OCSP primarily because it represents a considerable risk to privacy on the Internet. When someone visits a website using a browser or other software that checks for certificate revocation via OCSP, the Certificate Authority (CA) operating the OCSP responder immediately becomes aware of which website is being visited from that visitor&amp;rsquo;s particular IP address. Even when a CA intentionally does not retain this information, as is the case with Let&amp;rsquo;s Encrypt, it could accidentally be retained or CAs could be legally compelled to collect it. CRLs do not have this issue.&lt;/p&gt;
&lt;p&gt;We are also taking this step because keeping our CA infrastructure as simple as possible is critical for the continuity of compliance, reliability, and efficiency at Let&amp;rsquo;s Encrypt. For every year that we have existed, operating OCSP services has taken up considerable resources that can soon be better spent on other aspects of our operations. &lt;a href="https://letsencrypt.org/2022/09/07/new-life-for-crls/"&gt;Now that we support CRLs&lt;/a&gt;, our OCSP service has become unnecessary.&lt;/p&gt;
&lt;p&gt;At the height of our OCSP service&amp;rsquo;s traffic earlier this year, we handled approximately 340 billion OCSP requests per month. That&amp;rsquo;s more than 140,000 requests per second handled by our CDN, with 15,000 requests per second handled by our origin. We&amp;rsquo;d like to thank &lt;a href="https://www.akamai.com/"&gt;Akamai&lt;/a&gt; for generously donating CDN services for OCSP to Let&amp;rsquo;s Encrypt for the past ten years.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2025/08/06/ocsp-service-has-reached-end-of-life.html"/>
    <summary type="html">&lt;p&gt;Today we turned off our Online Certificate Status Protocol (OCSP) service, as &lt;a href="https://letsencrypt.org/2024/12/05/ending-ocsp/"&gt;announced&lt;/a&gt; in December of last year. We stopped including OCSP URLs in our certificates more than 90 days ago, so all Let&amp;rsquo;s Encrypt certificates that contained OCSP URLs have now expired. Going forward, we will publish revocation information exclusively via Certificate Revocation Lists (CRLs).&lt;/p&gt;
&lt;p&gt;We ended support for OCSP primarily because it represents a considerable risk to privacy on the Internet. When someone visits a website using a browser or other software that checks for certificate revocation via OCSP, the Certificate Authority (CA) operating the OCSP responder immediately becomes aware of which website is being visited from that visitor&amp;rsquo;s particular IP address. Even when a CA intentionally does not retain this information, as is the case with Let&amp;rsquo;s Encrypt, it could accidentally be retained or CAs could be legally compelled to collect it. CRLs do not have this issue.&lt;/p&gt;
&lt;p&gt;We are also taking this step because keeping our CA infrastructure as simple as possible is critical for the continuity of compliance, reliability, and efficiency at Let&amp;rsquo;s Encrypt. For every year that we have existed, operating OCSP services has taken up considerable resources that can soon be better spent on other aspects of our operations. &lt;a href="https://letsencrypt.org/2022/09/07/new-life-for-crls/"&gt;Now that we support CRLs&lt;/a&gt;, our OCSP service has become unnecessary.&lt;/p&gt;
&lt;p&gt;At the height of our OCSP service&amp;rsquo;s traffic earlier this year, we handled approximately 340 billion OCSP requests per month. That&amp;rsquo;s more than 140,000 requests per second handled by our CDN, with 15,000 requests per second handled by our origin. We&amp;rsquo;d like to thank &lt;a href="https://www.akamai.com/"&gt;Akamai&lt;/a&gt; for generously donating CDN services for OCSP to Let&amp;rsquo;s Encrypt for the past ten years.&lt;/p&gt;</summary>
    <published>2025-08-05T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2025/07/01/issuing-our-first-ip-address-certificate.html</id>
    <title>We've Issued Our First IP Address Certificate</title>
    <updated>2025-06-30T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Update: January 15, 2026&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Six-day and IP address certificates are now generally available. See &lt;a href="https://letsencrypt.org/2026/01/15/6day-and-ip-general-availability"&gt;6-day and IP Address Certificates are Generally Available&lt;/a&gt; for details.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Since Let&amp;rsquo;s Encrypt started issuing certificates in 2015, people have repeatedly requested the ability to get certificates for IP addresses, an option that only a few certificate authorities have offered. Until now, they&amp;rsquo;ve had to look elsewhere, because we haven&amp;rsquo;t provided that feature.&lt;/p&gt;
&lt;p&gt;Today, we&amp;rsquo;ve issued our &lt;a href="https://crt.sh/?id=19376952215"&gt;first certificate for an IP address&lt;/a&gt;, as we &lt;a href="https://letsencrypt.org/2025/01/16/6-day-and-ip-certs/"&gt;announced we would&lt;/a&gt; in January. As with other new certificate features on our engineering roadmap, we&amp;rsquo;ll now start gradually rolling out this option to more and more of our subscribers.&lt;/p&gt;
&lt;h3 id="some-background-on-ip-address-certs"&gt;Some Background on IP Address Certs&lt;/h3&gt;
&lt;p&gt;IP addresses are the underlying numerical addresses used on the Internet. Every device on the Internet has one (though, in modern practice, it might be shared with other devices, like when an entire home network shares a single public IP address). The Internet infrastructure uses them to route communications to their proper destination. IP addresses come in two forms, IPv4 and IPv6, and generally look like 54.215.62.21 (IPv4) or 2600:1f1c:446:4900::65 (IPv6).&lt;/p&gt;
&lt;p&gt;Most Internet users rarely see or refer to IP addresses directly. Instead, they almost always use domain names like letsencrypt.org to refer to Internet services. The &lt;a href="https://en.wikipedia.org/wiki/Domain_Name_System"&gt;domain name system (DNS)&lt;/a&gt; is a part of the Internet infrastructure that&amp;rsquo;s responsible for allowing software to find the IP addresses associated with a particular domain name. For instance, your web browser can use DNS to find out that the service &lt;a href="https://letsencrypt.org/"&gt;https://letsencrypt.org/&lt;/a&gt; (Let&amp;rsquo;s Encrypt&amp;rsquo;s own website) is provided from the IP addresses 54.215.62.21 and 2600:1f1c:446:4900::65, among several others. This probably happened behind the scenes before you started reading this article! Your web browser needed to know our IP address in order to actually connect to our site and fetch this article.&lt;/p&gt;
&lt;p&gt;Because we overwhelmingly tend to think and talk about Internet services in terms of domain names, those are the identifiers that are normally listed in certificates like those that Let&amp;rsquo;s Encrypt provides to our subscribers. Since you know us as &amp;ldquo;letsencrypt.org&amp;rdquo; and not as, say, &amp;ldquo;54.215.62.21,&amp;rdquo; it makes the most sense for our domain name to be on our certificate. After all, that&amp;rsquo;s what you&amp;rsquo;ll want your web browser to check against. This also gives Internet services more flexibility to be hosted in multiple locations, or to change where they&amp;rsquo;re hosted, without necessarily needing separate certificates for each server.&lt;/p&gt;
&lt;p&gt;In principle, there&amp;rsquo;s no reason that a certificate couldn&amp;rsquo;t be issued for an IP address rather than a domain name, and in fact the technical and policy standards for certificates have always allowed this, with a handful of certificate authorities offering this service on a small scale. In Let&amp;rsquo;s Encrypt&amp;rsquo;s case, we&amp;rsquo;ve preferred to wait until some other pieces, like short-lived certs, were in place before we made this option available for our subscribers.&lt;/p&gt;
&lt;h3 id="why-ip-address-certs-are-less-common"&gt;Why IP Address Certs Are Less Common&lt;/h3&gt;
&lt;p&gt;First and foremost, it&amp;rsquo;s because Internet users usually know services by domain names, not by IP addresses, and because IP addresses can easily change &amp;ldquo;behind the scenes&amp;rdquo; with no prior notice. For instance, a popular site could switch from one cloud hosting company to a different one, and update its DNS records to point at the new host. Most users wouldn&amp;rsquo;t ever notice the change at all, even though the site&amp;rsquo;s underlying IP addresses would be completely different.&lt;/p&gt;
&lt;p&gt;Second, because IP addresses can change so easily, the sense of &amp;ldquo;ownership&amp;rdquo; one might have for them&amp;mdash;or that a certificate authority might be able to attest to&amp;mdash;tends to be weaker than for a domain name. If you&amp;rsquo;re hosting something in your house on a residential broadband connection, your Internet service provider most likely doesn&amp;rsquo;t guarantee that your IP address will stay the same over time. (That is, most home Internet users have a &amp;ldquo;dynamic IP address&amp;rdquo; from their ISPs, rather than a &amp;ldquo;static IP address.&amp;rdquo;) In that case, you have to contend with the possibility that that address may change often, possibly without warning, and that your old address may be assigned to somebody else.&lt;/p&gt;
&lt;p&gt;Third, most Internet service operators don&amp;rsquo;t expect that end users will ever intentionally connect to their sites directly by IP address. In some cases, when an IP address is shared by different websites or different devices, connecting by IP address alone wouldn&amp;rsquo;t even work properly. In that case, there&amp;rsquo;s not much benefit to obtaining a certificate for the IP address!&lt;/p&gt;
&lt;h3 id="how-let-s-encrypt-subscribers-may-use-ip-address-certs"&gt;How Let&amp;rsquo;s Encrypt Subscribers May Use IP Address Certs&lt;/h3&gt;
&lt;p&gt;Most current subscribers should be fine with their existing domain name certs and won&amp;rsquo;t need IP address certs. Subscribers who have a use for an IP address cert are typically already aware of that. A few use cases that we&amp;rsquo;re aware of include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A default page for hosting providers, in case someone pastes a server&amp;rsquo;s IP address into a browser instead of an individual site name (right now, this normally produces an error in the browser).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A way to access your website if you don&amp;rsquo;t have a domain name at all (at some cost in reliability and convenience compared to getting a domain name).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Securing &lt;a href="https://en.wikipedia.org/wiki/DNS_over_HTTPS"&gt;DNS over HTTPS&lt;/a&gt; (DoH) or other infrastructure services. Having a certificate makes it much easier for DoH servers to prove their identities to clients. That could make it more feasible for DoH users or clients to enforce a requirement for a valid publicly-trusted certificate when connecting to DoH servers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Securing remote access to some home devices (like network-attached storage servers and Internet-of-things devices) even without a domain name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Securing ephemeral connections within cloud hosting infrastructure, like connections between one back-end cloud server and another, or ephemeral connections to administer new or short-lived back-end servers via HTTPS&amp;mdash;as long as those servers have at least one public IP address available.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="how-to-get-an-ip-address-cert"&gt;How To Get an IP Address Cert&lt;/h3&gt;
&lt;p&gt;IP address certificates are available right now in &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Staging&lt;/a&gt;. They should be generally available in Prod later in 2025, at the same time that short-lived certificates become generally available. Prior to general availability we may allow list issuance for a limited number of partners who can provide us with feedback.&lt;/p&gt;
&lt;p&gt;Many Let&amp;rsquo;s Encrypt client applications should already be able to request certificates for IP addresses, although there can be minor technical changes required to support this in some client software.&lt;/p&gt;
&lt;p&gt;As a matter of policy, Let&amp;rsquo;s Encrypt certificates that cover IP addresses must be short-lived certs, valid for only about six days. As such, your ACME client must support the &lt;a href="https://datatracker.ietf.org/doc/draft-aaron-acme-profiles/"&gt;draft ACME Profiles specification&lt;/a&gt;, and you must configure it to request &lt;a href="https://letsencrypt.org/docs/profiles/#shortlived"&gt;the &lt;code&gt;shortlived&lt;/code&gt; profile&lt;/a&gt;. And, probably not surprisingly, you can&amp;rsquo;t use the DNS &lt;a href="https://letsencrypt.org/docs/challenge-types/"&gt;challenge method&lt;/a&gt; to prove your control over an IP address; only the http-01 and tls-alpn-01 methods can be used.&lt;/p&gt;
&lt;p&gt;If your client software requests an IP address cert with details that aren&amp;rsquo;t compatible with these policies, the order will be rejected by the ACME server. In this case, your client application may need to be updated or reconfigured. Feel free to ask for help on the &lt;a href="https://community.letsencrypt.org/"&gt;Let&amp;rsquo;s Encrypt community forum&lt;/a&gt; if you encounter any problems, either as a client application developer or as an end user.&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2025/07/01/issuing-our-first-ip-address-certificate.html"/>
    <summary type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Update: January 15, 2026&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Six-day and IP address certificates are now generally available. See &lt;a href="https://letsencrypt.org/2026/01/15/6day-and-ip-general-availability"&gt;6-day and IP Address Certificates are Generally Available&lt;/a&gt; for details.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Since Let&amp;rsquo;s Encrypt started issuing certificates in 2015, people have repeatedly requested the ability to get certificates for IP addresses, an option that only a few certificate authorities have offered. Until now, they&amp;rsquo;ve had to look elsewhere, because we haven&amp;rsquo;t provided that feature.&lt;/p&gt;
&lt;p&gt;Today, we&amp;rsquo;ve issued our &lt;a href="https://crt.sh/?id=19376952215"&gt;first certificate for an IP address&lt;/a&gt;, as we &lt;a href="https://letsencrypt.org/2025/01/16/6-day-and-ip-certs/"&gt;announced we would&lt;/a&gt; in January. As with other new certificate features on our engineering roadmap, we&amp;rsquo;ll now start gradually rolling out this option to more and more of our subscribers.&lt;/p&gt;
&lt;h3 id="some-background-on-ip-address-certs"&gt;Some Background on IP Address Certs&lt;/h3&gt;
&lt;p&gt;IP addresses are the underlying numerical addresses used on the Internet. Every device on the Internet has one (though, in modern practice, it might be shared with other devices, like when an entire home network shares a single public IP address). The Internet infrastructure uses them to route communications to their proper destination. IP addresses come in two forms, IPv4 and IPv6, and generally look like 54.215.62.21 (IPv4) or 2600:1f1c:446:4900::65 (IPv6).&lt;/p&gt;
&lt;p&gt;Most Internet users rarely see or refer to IP addresses directly. Instead, they almost always use domain names like letsencrypt.org to refer to Internet services. The &lt;a href="https://en.wikipedia.org/wiki/Domain_Name_System"&gt;domain name system (DNS)&lt;/a&gt; is a part of the Internet infrastructure that&amp;rsquo;s responsible for allowing software to find the IP addresses associated with a particular domain name. For instance, your web browser can use DNS to find out that the service &lt;a href="https://letsencrypt.org/"&gt;https://letsencrypt.org/&lt;/a&gt; (Let&amp;rsquo;s Encrypt&amp;rsquo;s own website) is provided from the IP addresses 54.215.62.21 and 2600:1f1c:446:4900::65, among several others. This probably happened behind the scenes before you started reading this article! Your web browser needed to know our IP address in order to actually connect to our site and fetch this article.&lt;/p&gt;
&lt;p&gt;Because we overwhelmingly tend to think and talk about Internet services in terms of domain names, those are the identifiers that are normally listed in certificates like those that Let&amp;rsquo;s Encrypt provides to our subscribers. Since you know us as &amp;ldquo;letsencrypt.org&amp;rdquo; and not as, say, &amp;ldquo;54.215.62.21,&amp;rdquo; it makes the most sense for our domain name to be on our certificate. After all, that&amp;rsquo;s what you&amp;rsquo;ll want your web browser to check against. This also gives Internet services more flexibility to be hosted in multiple locations, or to change where they&amp;rsquo;re hosted, without necessarily needing separate certificates for each server.&lt;/p&gt;
&lt;p&gt;In principle, there&amp;rsquo;s no reason that a certificate couldn&amp;rsquo;t be issued for an IP address rather than a domain name, and in fact the technical and policy standards for certificates have always allowed this, with a handful of certificate authorities offering this service on a small scale. In Let&amp;rsquo;s Encrypt&amp;rsquo;s case, we&amp;rsquo;ve preferred to wait until some other pieces, like short-lived certs, were in place before we made this option available for our subscribers.&lt;/p&gt;
&lt;h3 id="why-ip-address-certs-are-less-common"&gt;Why IP Address Certs Are Less Common&lt;/h3&gt;
&lt;p&gt;First and foremost, it&amp;rsquo;s because Internet users usually know services by domain names, not by IP addresses, and because IP addresses can easily change &amp;ldquo;behind the scenes&amp;rdquo; with no prior notice. For instance, a popular site could switch from one cloud hosting company to a different one, and update its DNS records to point at the new host. Most users wouldn&amp;rsquo;t ever notice the change at all, even though the site&amp;rsquo;s underlying IP addresses would be completely different.&lt;/p&gt;
&lt;p&gt;Second, because IP addresses can change so easily, the sense of &amp;ldquo;ownership&amp;rdquo; one might have for them&amp;mdash;or that a certificate authority might be able to attest to&amp;mdash;tends to be weaker than for a domain name. If you&amp;rsquo;re hosting something in your house on a residential broadband connection, your Internet service provider most likely doesn&amp;rsquo;t guarantee that your IP address will stay the same over time. (That is, most home Internet users have a &amp;ldquo;dynamic IP address&amp;rdquo; from their ISPs, rather than a &amp;ldquo;static IP address.&amp;rdquo;) In that case, you have to contend with the possibility that that address may change often, possibly without warning, and that your old address may be assigned to somebody else.&lt;/p&gt;
&lt;p&gt;Third, most Internet service operators don&amp;rsquo;t expect that end users will ever intentionally connect to their sites directly by IP address. In some cases, when an IP address is shared by different websites or different devices, connecting by IP address alone wouldn&amp;rsquo;t even work properly. In that case, there&amp;rsquo;s not much benefit to obtaining a certificate for the IP address!&lt;/p&gt;
&lt;h3 id="how-let-s-encrypt-subscribers-may-use-ip-address-certs"&gt;How Let&amp;rsquo;s Encrypt Subscribers May Use IP Address Certs&lt;/h3&gt;
&lt;p&gt;Most current subscribers should be fine with their existing domain name certs and won&amp;rsquo;t need IP address certs. Subscribers who have a use for an IP address cert are typically already aware of that. A few use cases that we&amp;rsquo;re aware of include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;A default page for hosting providers, in case someone pastes a server&amp;rsquo;s IP address into a browser instead of an individual site name (right now, this normally produces an error in the browser).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A way to access your website if you don&amp;rsquo;t have a domain name at all (at some cost in reliability and convenience compared to getting a domain name).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Securing &lt;a href="https://en.wikipedia.org/wiki/DNS_over_HTTPS"&gt;DNS over HTTPS&lt;/a&gt; (DoH) or other infrastructure services. Having a certificate makes it much easier for DoH servers to prove their identities to clients. That could make it more feasible for DoH users or clients to enforce a requirement for a valid publicly-trusted certificate when connecting to DoH servers.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Securing remote access to some home devices (like network-attached storage servers and Internet-of-things devices) even without a domain name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Securing ephemeral connections within cloud hosting infrastructure, like connections between one back-end cloud server and another, or ephemeral connections to administer new or short-lived back-end servers via HTTPS&amp;mdash;as long as those servers have at least one public IP address available.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="how-to-get-an-ip-address-cert"&gt;How To Get an IP Address Cert&lt;/h3&gt;
&lt;p&gt;IP address certificates are available right now in &lt;a href="https://letsencrypt.org/docs/staging-environment/"&gt;Staging&lt;/a&gt;. They should be generally available in Prod later in 2025, at the same time that short-lived certificates become generally available. Prior to general availability we may allow list issuance for a limited number of partners who can provide us with feedback.&lt;/p&gt;
&lt;p&gt;Many Let&amp;rsquo;s Encrypt client applications should already be able to request certificates for IP addresses, although there can be minor technical changes required to support this in some client software.&lt;/p&gt;
&lt;p&gt;As a matter of policy, Let&amp;rsquo;s Encrypt certificates that cover IP addresses must be short-lived certs, valid for only about six days. As such, your ACME client must support the &lt;a href="https://datatracker.ietf.org/doc/draft-aaron-acme-profiles/"&gt;draft ACME Profiles specification&lt;/a&gt;, and you must configure it to request &lt;a href="https://letsencrypt.org/docs/profiles/#shortlived"&gt;the &lt;code&gt;shortlived&lt;/code&gt; profile&lt;/a&gt;. And, probably not surprisingly, you can&amp;rsquo;t use the DNS &lt;a href="https://letsencrypt.org/docs/challenge-types/"&gt;challenge method&lt;/a&gt; to prove your control over an IP address; only the http-01 and tls-alpn-01 methods can be used.&lt;/p&gt;
&lt;p&gt;If your client software requests an IP address cert with details that aren&amp;rsquo;t compatible with these policies, the order will be rejected by the ACME server. In this case, your client application may need to be updated or reconfigured. Feel free to ask for help on the &lt;a href="https://community.letsencrypt.org/"&gt;Let&amp;rsquo;s Encrypt community forum&lt;/a&gt; if you encounter any problems, either as a client application developer or as an end user.&lt;/p&gt;</summary>
    <published>2025-06-30T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2025/06/26/expiration-notification-service-has-ended.html</id>
    <title>Expiration Notification Service Has Ended</title>
    <updated>2025-06-25T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;p&gt;Since its inception, Let’s Encrypt has been sending expiration notification emails to subscribers that have provided an email address to us via the ACME API. This service ended on June 4, 2025. The decision to end the service is the result of the following factors:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Over the past 10 years more and more of our subscribers have been able to put reliable automation into place for certificate renewal.&lt;/li&gt;
&lt;li&gt;Providing expiration notification emails means that we have to retain millions of email addresses connected to issuance records. As an organization that values privacy, removing this requirement is important to us.&lt;/li&gt;
&lt;li&gt;Providing expiration notifications costs Let&amp;rsquo;s Encrypt tens of thousands of dollars per year, money that we believe can be better spent on other aspects of our infrastructure.&lt;/li&gt;
&lt;li&gt;Providing expiration notifications adds complexity to our infrastructure, which takes time and attention to manage and increases the likelihood of mistakes being made. Over the long term, particularly as we add support for new service components, we need to manage overall complexity by phasing out system components that can no longer be justified.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For those who would like to continue receiving expiration notifications, we recommend using a third party service such as &lt;a href="https://redsift.com/pulse-platform/certificates-lite"&gt;Red Sift Certificates Lite&lt;/a&gt; (formerly Hardenize). Red Sift&amp;rsquo;s monitoring service providing expiration emails is free of charge for up to 250 certificates. More monitoring options can be found &lt;a href="https://letsencrypt.org/docs/monitoring-options/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We have deleted the email addresses provided to Let’s Encrypt via the ACME API that were stored in our CA database in association with issuance data. This doesn&amp;rsquo;t affect addresses signed up to mailing lists and other systems. They are managed in a separate ISRG system unassociated with issuance data.&lt;/p&gt;
&lt;p&gt;Going forward, if an email address is provided to Let’s Encrypt via the ACME API, Let’s Encrypt will not store the address but will instead forward it to the general ISRG mailing list system unassociated with any account data. If the email address has not been seen before, that system may send an onboarding email with information about how to subscribe to various sources of updates.&lt;/p&gt;
&lt;p&gt;If you’d like to stay informed about technical updates and other news about Let’s Encrypt and our parent nonprofit, &lt;a href="https://abetterinternet.org"&gt;ISRG&lt;/a&gt;, based on the preferences you choose, you can sign up for our email lists below:&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2025/06/26/expiration-notification-service-has-ended.html"/>
    <summary type="html">&lt;p&gt;Since its inception, Let’s Encrypt has been sending expiration notification emails to subscribers that have provided an email address to us via the ACME API. This service ended on June 4, 2025. The decision to end the service is the result of the following factors:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Over the past 10 years more and more of our subscribers have been able to put reliable automation into place for certificate renewal.&lt;/li&gt;
&lt;li&gt;Providing expiration notification emails means that we have to retain millions of email addresses connected to issuance records. As an organization that values privacy, removing this requirement is important to us.&lt;/li&gt;
&lt;li&gt;Providing expiration notifications costs Let&amp;rsquo;s Encrypt tens of thousands of dollars per year, money that we believe can be better spent on other aspects of our infrastructure.&lt;/li&gt;
&lt;li&gt;Providing expiration notifications adds complexity to our infrastructure, which takes time and attention to manage and increases the likelihood of mistakes being made. Over the long term, particularly as we add support for new service components, we need to manage overall complexity by phasing out system components that can no longer be justified.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For those who would like to continue receiving expiration notifications, we recommend using a third party service such as &lt;a href="https://redsift.com/pulse-platform/certificates-lite"&gt;Red Sift Certificates Lite&lt;/a&gt; (formerly Hardenize). Red Sift&amp;rsquo;s monitoring service providing expiration emails is free of charge for up to 250 certificates. More monitoring options can be found &lt;a href="https://letsencrypt.org/docs/monitoring-options/"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We have deleted the email addresses provided to Let’s Encrypt via the ACME API that were stored in our CA database in association with issuance data. This doesn&amp;rsquo;t affect addresses signed up to mailing lists and other systems. They are managed in a separate ISRG system unassociated with issuance data.&lt;/p&gt;
&lt;p&gt;Going forward, if an email address is provided to Let’s Encrypt via the ACME API, Let’s Encrypt will not store the address but will instead forward it to the general ISRG mailing list system unassociated with any account data. If the email address has not been seen before, that system may send an onboarding email with information about how to subscribe to various sources of updates.&lt;/p&gt;
&lt;p&gt;If you’d like to stay informed about technical updates and other news about Let’s Encrypt and our parent nonprofit, &lt;a href="https://abetterinternet.org"&gt;ISRG&lt;/a&gt;, based on the preferences you choose, you can sign up for our email lists below:&lt;/p&gt;</summary>
    <published>2025-06-25T16:00:00+00:00</published>
  </entry>
  <entry>
    <id>https://letsencrypt.org/2025/06/11/reflections-on-a-year-of-sunlight.html</id>
    <title>Reflections on a Year of Sunlight</title>
    <updated>2025-06-10T16:00:00+00:00</updated>
    <author>
      <name>Unknown</name>
    </author>
    <content type="html">&lt;p&gt;The Certificate Transparency ecosystem has been improving transparency for the web PKI since 2013. It helps make clear exactly what certificates each certificate authority has issued and makes sure errors or compromises of certificate authorities are detectable.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt participates in CT both as a certificate issuer and &lt;a href="https://letsencrypt.org/2019/05/15/introducing-oak-ct-log/"&gt;as a log operator&lt;/a&gt;. For the past year, &lt;a href="https://letsencrypt.org/2024/03/14/introducing-sunlight/"&gt;we&amp;rsquo;ve also been running an experiment&lt;/a&gt; to help validate a next-generation design for Certificate Transparency logs. That experiment is now nearing a successful conclusion. We&amp;rsquo;ve demonstrated that the new architecture (called the &amp;ldquo;&lt;a href="https://github.com/C2SP/C2SP/blob/main/static-ct-api.md"&gt;Static CT API&lt;/a&gt;&amp;rdquo;) works well, providing greater efficiency and making it easier to run huge and reliable CT log services with comparatively modest resources. The Static CT API also makes it easier to download and share data from CT logs.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://sunlight.dev/"&gt;Sunlight log implementation&lt;/a&gt;, alongside other Static CT API log implementations, is now on a path to production use. Browsers are now officially accepting Static CT API logs into their log programs as a means to help guarantee that the contents of CA-issued certificates are all publicly disclosed and publicly accessible (see &lt;a href="https://groups.google.com/a/chromium.org/g/ct-policy/c/YJh40MRU950"&gt;Safari&amp;rsquo;s&lt;/a&gt; and &lt;a href="https://groups.google.com/a/chromium.org/g/ct-policy/c/HBFZHG0TCsY/m/HAaVRK6MAAAJ"&gt;Chrome&amp;rsquo;s&lt;/a&gt; recent announcements), although the browsers also require the continued use of a traditional &lt;a href="https://datatracker.ietf.org/doc/html/rfc6962"&gt;RFC 6962&lt;/a&gt; log alongside the new type.&lt;/p&gt;
&lt;p&gt;All of this is good news for everyone who runs, submits certificates to, or monitors a CT log: as the new architecture gets adopted, we can expect to see more organizations running more logs, at lower cost, and with greater overall capacity to keep up with the large volume of publicly-trusted certificates.&lt;/p&gt;
&lt;h2 id="certificate-transparency"&gt;Certificate Transparency&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://certificate.transparency.dev/"&gt;Certificate Transparency&lt;/a&gt; (CT) was introduced in 2013 in response to concerns about how Internet users could detect misbehavior and compromise of certificate authorities. Prior to CT, it was possible for a CA to issue an inaccurate or malicious certificate that could be used to attack a relatively small number of users, and that might never come to wider attention. A team led by Google responded to this by creating a transparency log mechanism, where certificate authorities (like Let&amp;rsquo;s Encrypt) must disclose all of the certificates that we issue by submitting them to public log services. Web browsers now generally reject certificates unless the certificates include cryptographic proof (&amp;ldquo;Signed Certificate Timestamps&amp;rdquo;, or SCTs) demonstrating that they were submitted to and accepted by such logs.&lt;/p&gt;
&lt;p&gt;The CT logs themselves use a cryptographic append-only ledger to prove that they haven&amp;rsquo;t deleted or modified their records. There are currently over a dozen CT log services, most of them also run by certificate authorities, including &lt;a href="https://letsencrypt.org/docs/ct-logs/"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s own Oak log&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="the-static-ct-api"&gt;The Static CT API&lt;/h2&gt;
&lt;p&gt;The original 2013 CT log design has been used with relatively few technical changes since it was first introduced, but several other transparency logging systems have been created in other areas, such as &lt;a href="https://go.dev/ref/mod#checksum-database"&gt;sumdb&lt;/a&gt; for Golang, which helps ensure that the contents of Golang package updates are publicly recorded. While they were originally inspired by CT, more-recently invented transparency logs have improved on its design.&lt;/p&gt;
&lt;p&gt;The current major evolution of CT was led by &lt;a href="https://filippo.io/"&gt;Filippo Valsorda&lt;/a&gt;, a cryptographer with an interest in transparency log mechanisms, with help from others in the CT ecosystem. Portions of the new design are directly based on sumdb. In addition to designing the new architecture, Valsorda also wrote the implementation that we&amp;rsquo;ve been using, called &lt;a href="https://sunlight.dev/"&gt;Sunlight&lt;/a&gt;, with support from Let&amp;rsquo;s Encrypt. We&amp;rsquo;re excited to see that there are now at least three other compatible implementations: Google&amp;rsquo;s &lt;a href="https://github.com/transparency-dev/trillian-tessera"&gt;trillian-tessera&lt;/a&gt;, Cloudflare&amp;rsquo;s &lt;a href="https://blog.cloudflare.com/azul-certificate-transparency-log/"&gt;Azul&lt;/a&gt;, and an independent project called &lt;a href="https://blog.transparency.dev/i-built-a-new-certificate-transparency-log-in-2024-heres-what-i-learned"&gt;Itko&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The biggest change for the Static CT API is that logs are now represented, and downloaded by verifiers, as simple collections of flat files (called &amp;ldquo;tiles,&amp;rdquo; so some implementers have also been referring to these as &amp;ldquo;tiled logs&amp;rdquo; or &amp;ldquo;tlogs&amp;rdquo;). Anyone who wants to download log data can do so just by downloading these files. This is great for log operators because these simple file downloads can be distributed in various ways, including caching by a CDN, which was less practical and efficient for the classic CT API.&lt;/p&gt;
&lt;p&gt;The new design is also simpler and more efficient from the log operator&amp;rsquo;s perspective, making it cheaper to run logs. As we said last year, this may enable us and other operators to increase reliability and availability by running several separate logs, likely with lower overall resource requirements than a single traditional log.&lt;/p&gt;
&lt;h2 id="our-sunlight-experiment"&gt;Our Sunlight experiment&lt;/h2&gt;
&lt;figure class="card border-0 pic-quote-right"&gt;
&lt;img alt="Sunlight" class="mx-auto img-fluid" src="https://letsencrypt.org/images/blog/sunlight_logo_main.png" /&gt;
&lt;figcaption class="image-caption"&gt;Filippo Valsorda's Sunlight logo (CC BY-ND 4.0), &amp;ldquo;based on a &lt;a href="https://www.tuscolo.org/il-parco/"&gt;real place&lt;/a&gt; in the vicinity of Rome&amp;rdquo;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;For the past year, we&amp;rsquo;ve run three Sunlight logs, called Twig, Willow, and Sycamore. We&amp;rsquo;ve been logging all of our own issued certificates, which represent a majority of the total volume of all publicly-trusted certificates, into our Sunlight logs. Sunlight logged these certificates quickly and correctly on relatively modest server hardware. Notably, each log&amp;rsquo;s write side was handled comfortably by just a single server. We also achieved high availability for these log services throughout the course of this experiment. (Because our Sunlight logs are not yet trusted by web browsers, we didn&amp;rsquo;t include the SCT proofs that they returned to us in the actual certificates we gave out to our subscribers; those proofs wouldn&amp;rsquo;t have been of use to our subscribers yet and would just have taken up space.)&lt;/p&gt;
&lt;p&gt;A potential failure mode of traditional CT logs is that they could be unacceptably slow in incorporating newly-submitted certificates (known as missing the maximum merge delay), which can result in a log becoming distrusted. This isn&amp;rsquo;t a possibility for our new Sunlight-based logs: they always completely incorporate newly-submitted certificates before returning an SCT to the submitter, so the effective merge delay is zero! Of course, any log can suffer outages for a variety of reasons, but this feature of Sunlight makes it less likely that any outages will be fatal to a log&amp;rsquo;s continued operation.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve demonstrated that Sunlight and the Static CT API work in practice, and this demonstration has helped to confirm the browser developers&amp;rsquo; hope that Static CT API logs can become an officially-supported part of CT. As a result, the major browsers that enforce CT have now permitted Static CT API logs to apply for inclusion in browsers as publicly-trusted logs, and we&amp;rsquo;re preparing to apply for this status for our Willow and Sycamore logs with the Chrome and Safari CT log programs.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt will run at least these two logs, and possibly others over time, for the foreseeable future. Once they&amp;rsquo;re trusted by browsers, we&amp;rsquo;ll encourage other CAs to submit to them as well, and we&amp;rsquo;ll begin including SCTs from these logs in our own certificates (alongside SCTs from traditional CT logs).&lt;/p&gt;
&lt;h2 id="how-to-participate"&gt;How to participate&lt;/h2&gt;
&lt;p&gt;The new Static CT API and the rollout of tile-based logs will bring various changes and opportunities for community members.&lt;/p&gt;
&lt;h3 id="new-certificate-transparency-log-operators"&gt;New Certificate Transparency log operators&lt;/h3&gt;
&lt;p&gt;Companies and non-profit organizations could help support the web PKI by running a CT log and applying for it to be publicly trusted. Implementations like Sunlight will have substantially lower resource requirements than first-generation CT logs, particularly when cached behind a CDN. The biggest resource demands for a log operator will be storage and upstream bandwidth. A publicly-trusted log is also expected to maintain relatively high availability, because CAs need logs to be available in order to continue issuing certificates.&lt;/p&gt;
&lt;p&gt;We don&amp;rsquo;t have statistics to share about the exact resource requirements for such a log yet, but after we have practical experience running a fully publicly-trusted Sunlight log, we should be able to make this more concrete. As noted above, the compute side of the log can be handled by a single server. Sunlight author Filippo Valsorda has recently started running a Sunlight log&amp;mdash;also on just a single server&amp;mdash;and offered &lt;a href="https://groups.google.com/a/chromium.org/g/ct-policy/c/KCzYEIIZSxg/m/zD26fYw4AgAJ?pli=1"&gt;more detailed cost breakdowns&lt;/a&gt; for that log&amp;rsquo;s setup, with an estimated total cost around $10,000 per year. The costs for our production Static CT API logs may be higher than those for Filippo&amp;rsquo;s log, but still far less than the costs for our traditional RFC 6962 logs.&lt;/p&gt;
&lt;p&gt;As with trust decisions about CAs, browser developers are the authorities about which CT logs become publicly trusted. Although any person or organization can run a log, browser developers will generally prefer to trust logs whose continued availability they&amp;rsquo;re confident of&amp;mdash;typically those run by stable organizations with experience running some form of public Internet services. Unlike becoming a certificate authority, running a log does not require a formal audit, as the validation of the log&amp;rsquo;s availability and correctness can be performed purely by observation.&lt;/p&gt;
&lt;h3 id="certificate-authorities"&gt;Certificate authorities&lt;/h3&gt;
&lt;p&gt;Once the Willow and Sycamore logs are trusted by browsers, our fellow certificate authorities can choose to start logging certificates to them as part of their issuance processes. (Initially, you should still include at least one SCT from a traditional CT log in each certificate.) The details, including the log API endpoints and keys, are available at &lt;a href="https://letsencrypt.org/docs/ct-logs/"&gt;our CT log page&lt;/a&gt;. You can start submitting to these logs right away if you prefer; just bear in mind that the SCTs they return aren&amp;rsquo;t useful to subscribers yet, and won&amp;rsquo;t be useful until browsers are updated to trust the new logs.&lt;/p&gt;
&lt;h3 id="ct-data-users"&gt;CT data users&lt;/h3&gt;
&lt;p&gt;You can monitor CT in order to watch for certificate issuances for your own domain names, or as part of monitoring or security products or services, or for Internet security research purposes. Many of our colleagues have been doing this for some time as a part of various tools they maintain. The Static CT API should make this easier, because you&amp;rsquo;ll be able to download and share log tiles as sets of ordinary files.&lt;/p&gt;
&lt;p&gt;If you already run such monitoring tools, please note that &lt;em&gt;you&amp;rsquo;ll need to update your data pipeline&lt;/em&gt; in order to access Static CT API logs; since the read API is not backwards-compatible, CT API clients will need to be modified to support the new API. Without updated tools, your view of the CT system will become partial!&lt;/p&gt;
&lt;p&gt;Also note that getting a complete view of all of CT will still require downloading data from traditional logs, which will probably continue to be true for several years.&lt;/p&gt;
&lt;h3 id="software-developers"&gt;Software developers&lt;/h3&gt;
&lt;p&gt;As logs based on the new API enter production use, it will be important to have tools to interact with and search these logs. We can all benefit from more software that understands how to do this. Since file downloads are such a familiar piece of software functionality, it will probably be easier for developers to develop against the new API compared to the original one.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve also continued to see greater integration of transparency logging tools into other kinds of services, such as software updates. There&amp;rsquo;s a growing transparency log ecosystem that&amp;rsquo;s always in need of more tools and integrations. As we mentioned above, transparency logs are increasingly learning from one another, and there are also mechanisms for more direct integration between different kinds of transparency logs (known as &amp;ldquo;witnessing&amp;rdquo;). Software developers can help improve different aspects of Internet security by contributing to this active and growing area.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;The Certificate Transparency community and larger transparency logging community have experienced a virtuous cycle of innovation, sharing ideas and implementation code between different systems and demonstrating the feasibility of new mechanisms and functionality. With the advent of tile-based logging in CT, the state of the art has moved forward in a way that helps log operators run our logs much more efficiently without compromising security.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re proud to have participated in this experiment and the engineering conversation around the evolution of logging architectures. Now that we&amp;rsquo;ve shown how well the new API really works at scale, we look forward to having publicly-trusted Sunlight logs later this year!&lt;/p&gt;</content>
    <link href="https://letsencrypt.org/2025/06/11/reflections-on-a-year-of-sunlight.html"/>
    <summary type="html">&lt;p&gt;The Certificate Transparency ecosystem has been improving transparency for the web PKI since 2013. It helps make clear exactly what certificates each certificate authority has issued and makes sure errors or compromises of certificate authorities are detectable.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt participates in CT both as a certificate issuer and &lt;a href="https://letsencrypt.org/2019/05/15/introducing-oak-ct-log/"&gt;as a log operator&lt;/a&gt;. For the past year, &lt;a href="https://letsencrypt.org/2024/03/14/introducing-sunlight/"&gt;we&amp;rsquo;ve also been running an experiment&lt;/a&gt; to help validate a next-generation design for Certificate Transparency logs. That experiment is now nearing a successful conclusion. We&amp;rsquo;ve demonstrated that the new architecture (called the &amp;ldquo;&lt;a href="https://github.com/C2SP/C2SP/blob/main/static-ct-api.md"&gt;Static CT API&lt;/a&gt;&amp;rdquo;) works well, providing greater efficiency and making it easier to run huge and reliable CT log services with comparatively modest resources. The Static CT API also makes it easier to download and share data from CT logs.&lt;/p&gt;
&lt;p&gt;The &lt;a href="https://sunlight.dev/"&gt;Sunlight log implementation&lt;/a&gt;, alongside other Static CT API log implementations, is now on a path to production use. Browsers are now officially accepting Static CT API logs into their log programs as a means to help guarantee that the contents of CA-issued certificates are all publicly disclosed and publicly accessible (see &lt;a href="https://groups.google.com/a/chromium.org/g/ct-policy/c/YJh40MRU950"&gt;Safari&amp;rsquo;s&lt;/a&gt; and &lt;a href="https://groups.google.com/a/chromium.org/g/ct-policy/c/HBFZHG0TCsY/m/HAaVRK6MAAAJ"&gt;Chrome&amp;rsquo;s&lt;/a&gt; recent announcements), although the browsers also require the continued use of a traditional &lt;a href="https://datatracker.ietf.org/doc/html/rfc6962"&gt;RFC 6962&lt;/a&gt; log alongside the new type.&lt;/p&gt;
&lt;p&gt;All of this is good news for everyone who runs, submits certificates to, or monitors a CT log: as the new architecture gets adopted, we can expect to see more organizations running more logs, at lower cost, and with greater overall capacity to keep up with the large volume of publicly-trusted certificates.&lt;/p&gt;
&lt;h2 id="certificate-transparency"&gt;Certificate Transparency&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://certificate.transparency.dev/"&gt;Certificate Transparency&lt;/a&gt; (CT) was introduced in 2013 in response to concerns about how Internet users could detect misbehavior and compromise of certificate authorities. Prior to CT, it was possible for a CA to issue an inaccurate or malicious certificate that could be used to attack a relatively small number of users, and that might never come to wider attention. A team led by Google responded to this by creating a transparency log mechanism, where certificate authorities (like Let&amp;rsquo;s Encrypt) must disclose all of the certificates that we issue by submitting them to public log services. Web browsers now generally reject certificates unless the certificates include cryptographic proof (&amp;ldquo;Signed Certificate Timestamps&amp;rdquo;, or SCTs) demonstrating that they were submitted to and accepted by such logs.&lt;/p&gt;
&lt;p&gt;The CT logs themselves use a cryptographic append-only ledger to prove that they haven&amp;rsquo;t deleted or modified their records. There are currently over a dozen CT log services, most of them also run by certificate authorities, including &lt;a href="https://letsencrypt.org/docs/ct-logs/"&gt;Let&amp;rsquo;s Encrypt&amp;rsquo;s own Oak log&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="the-static-ct-api"&gt;The Static CT API&lt;/h2&gt;
&lt;p&gt;The original 2013 CT log design has been used with relatively few technical changes since it was first introduced, but several other transparency logging systems have been created in other areas, such as &lt;a href="https://go.dev/ref/mod#checksum-database"&gt;sumdb&lt;/a&gt; for Golang, which helps ensure that the contents of Golang package updates are publicly recorded. While they were originally inspired by CT, more-recently invented transparency logs have improved on its design.&lt;/p&gt;
&lt;p&gt;The current major evolution of CT was led by &lt;a href="https://filippo.io/"&gt;Filippo Valsorda&lt;/a&gt;, a cryptographer with an interest in transparency log mechanisms, with help from others in the CT ecosystem. Portions of the new design are directly based on sumdb. In addition to designing the new architecture, Valsorda also wrote the implementation that we&amp;rsquo;ve been using, called &lt;a href="https://sunlight.dev/"&gt;Sunlight&lt;/a&gt;, with support from Let&amp;rsquo;s Encrypt. We&amp;rsquo;re excited to see that there are now at least three other compatible implementations: Google&amp;rsquo;s &lt;a href="https://github.com/transparency-dev/trillian-tessera"&gt;trillian-tessera&lt;/a&gt;, Cloudflare&amp;rsquo;s &lt;a href="https://blog.cloudflare.com/azul-certificate-transparency-log/"&gt;Azul&lt;/a&gt;, and an independent project called &lt;a href="https://blog.transparency.dev/i-built-a-new-certificate-transparency-log-in-2024-heres-what-i-learned"&gt;Itko&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The biggest change for the Static CT API is that logs are now represented, and downloaded by verifiers, as simple collections of flat files (called &amp;ldquo;tiles,&amp;rdquo; so some implementers have also been referring to these as &amp;ldquo;tiled logs&amp;rdquo; or &amp;ldquo;tlogs&amp;rdquo;). Anyone who wants to download log data can do so just by downloading these files. This is great for log operators because these simple file downloads can be distributed in various ways, including caching by a CDN, which was less practical and efficient for the classic CT API.&lt;/p&gt;
&lt;p&gt;The new design is also simpler and more efficient from the log operator&amp;rsquo;s perspective, making it cheaper to run logs. As we said last year, this may enable us and other operators to increase reliability and availability by running several separate logs, likely with lower overall resource requirements than a single traditional log.&lt;/p&gt;
&lt;h2 id="our-sunlight-experiment"&gt;Our Sunlight experiment&lt;/h2&gt;
&lt;figure class="card border-0 pic-quote-right"&gt;
&lt;img alt="Sunlight" class="mx-auto img-fluid" src="https://letsencrypt.org/images/blog/sunlight_logo_main.png" /&gt;
&lt;figcaption class="image-caption"&gt;Filippo Valsorda's Sunlight logo (CC BY-ND 4.0), &amp;ldquo;based on a &lt;a href="https://www.tuscolo.org/il-parco/"&gt;real place&lt;/a&gt; in the vicinity of Rome&amp;rdquo;&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;For the past year, we&amp;rsquo;ve run three Sunlight logs, called Twig, Willow, and Sycamore. We&amp;rsquo;ve been logging all of our own issued certificates, which represent a majority of the total volume of all publicly-trusted certificates, into our Sunlight logs. Sunlight logged these certificates quickly and correctly on relatively modest server hardware. Notably, each log&amp;rsquo;s write side was handled comfortably by just a single server. We also achieved high availability for these log services throughout the course of this experiment. (Because our Sunlight logs are not yet trusted by web browsers, we didn&amp;rsquo;t include the SCT proofs that they returned to us in the actual certificates we gave out to our subscribers; those proofs wouldn&amp;rsquo;t have been of use to our subscribers yet and would just have taken up space.)&lt;/p&gt;
&lt;p&gt;A potential failure mode of traditional CT logs is that they could be unacceptably slow in incorporating newly-submitted certificates (known as missing the maximum merge delay), which can result in a log becoming distrusted. This isn&amp;rsquo;t a possibility for our new Sunlight-based logs: they always completely incorporate newly-submitted certificates before returning an SCT to the submitter, so the effective merge delay is zero! Of course, any log can suffer outages for a variety of reasons, but this feature of Sunlight makes it less likely that any outages will be fatal to a log&amp;rsquo;s continued operation.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve demonstrated that Sunlight and the Static CT API work in practice, and this demonstration has helped to confirm the browser developers&amp;rsquo; hope that Static CT API logs can become an officially-supported part of CT. As a result, the major browsers that enforce CT have now permitted Static CT API logs to apply for inclusion in browsers as publicly-trusted logs, and we&amp;rsquo;re preparing to apply for this status for our Willow and Sycamore logs with the Chrome and Safari CT log programs.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s Encrypt will run at least these two logs, and possibly others over time, for the foreseeable future. Once they&amp;rsquo;re trusted by browsers, we&amp;rsquo;ll encourage other CAs to submit to them as well, and we&amp;rsquo;ll begin including SCTs from these logs in our own certificates (alongside SCTs from traditional CT logs).&lt;/p&gt;
&lt;h2 id="how-to-participate"&gt;How to participate&lt;/h2&gt;
&lt;p&gt;The new Static CT API and the rollout of tile-based logs will bring various changes and opportunities for community members.&lt;/p&gt;
&lt;h3 id="new-certificate-transparency-log-operators"&gt;New Certificate Transparency log operators&lt;/h3&gt;
&lt;p&gt;Companies and non-profit organizations could help support the web PKI by running a CT log and applying for it to be publicly trusted. Implementations like Sunlight will have substantially lower resource requirements than first-generation CT logs, particularly when cached behind a CDN. The biggest resource demands for a log operator will be storage and upstream bandwidth. A publicly-trusted log is also expected to maintain relatively high availability, because CAs need logs to be available in order to continue issuing certificates.&lt;/p&gt;
&lt;p&gt;We don&amp;rsquo;t have statistics to share about the exact resource requirements for such a log yet, but after we have practical experience running a fully publicly-trusted Sunlight log, we should be able to make this more concrete. As noted above, the compute side of the log can be handled by a single server. Sunlight author Filippo Valsorda has recently started running a Sunlight log&amp;mdash;also on just a single server&amp;mdash;and offered &lt;a href="https://groups.google.com/a/chromium.org/g/ct-policy/c/KCzYEIIZSxg/m/zD26fYw4AgAJ?pli=1"&gt;more detailed cost breakdowns&lt;/a&gt; for that log&amp;rsquo;s setup, with an estimated total cost around $10,000 per year. The costs for our production Static CT API logs may be higher than those for Filippo&amp;rsquo;s log, but still far less than the costs for our traditional RFC 6962 logs.&lt;/p&gt;
&lt;p&gt;As with trust decisions about CAs, browser developers are the authorities about which CT logs become publicly trusted. Although any person or organization can run a log, browser developers will generally prefer to trust logs whose continued availability they&amp;rsquo;re confident of&amp;mdash;typically those run by stable organizations with experience running some form of public Internet services. Unlike becoming a certificate authority, running a log does not require a formal audit, as the validation of the log&amp;rsquo;s availability and correctness can be performed purely by observation.&lt;/p&gt;
&lt;h3 id="certificate-authorities"&gt;Certificate authorities&lt;/h3&gt;
&lt;p&gt;Once the Willow and Sycamore logs are trusted by browsers, our fellow certificate authorities can choose to start logging certificates to them as part of their issuance processes. (Initially, you should still include at least one SCT from a traditional CT log in each certificate.) The details, including the log API endpoints and keys, are available at &lt;a href="https://letsencrypt.org/docs/ct-logs/"&gt;our CT log page&lt;/a&gt;. You can start submitting to these logs right away if you prefer; just bear in mind that the SCTs they return aren&amp;rsquo;t useful to subscribers yet, and won&amp;rsquo;t be useful until browsers are updated to trust the new logs.&lt;/p&gt;
&lt;h3 id="ct-data-users"&gt;CT data users&lt;/h3&gt;
&lt;p&gt;You can monitor CT in order to watch for certificate issuances for your own domain names, or as part of monitoring or security products or services, or for Internet security research purposes. Many of our colleagues have been doing this for some time as a part of various tools they maintain. The Static CT API should make this easier, because you&amp;rsquo;ll be able to download and share log tiles as sets of ordinary files.&lt;/p&gt;
&lt;p&gt;If you already run such monitoring tools, please note that &lt;em&gt;you&amp;rsquo;ll need to update your data pipeline&lt;/em&gt; in order to access Static CT API logs; since the read API is not backwards-compatible, CT API clients will need to be modified to support the new API. Without updated tools, your view of the CT system will become partial!&lt;/p&gt;
&lt;p&gt;Also note that getting a complete view of all of CT will still require downloading data from traditional logs, which will probably continue to be true for several years.&lt;/p&gt;
&lt;h3 id="software-developers"&gt;Software developers&lt;/h3&gt;
&lt;p&gt;As logs based on the new API enter production use, it will be important to have tools to interact with and search these logs. We can all benefit from more software that understands how to do this. Since file downloads are such a familiar piece of software functionality, it will probably be easier for developers to develop against the new API compared to the original one.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;ve also continued to see greater integration of transparency logging tools into other kinds of services, such as software updates. There&amp;rsquo;s a growing transparency log ecosystem that&amp;rsquo;s always in need of more tools and integrations. As we mentioned above, transparency logs are increasingly learning from one another, and there are also mechanisms for more direct integration between different kinds of transparency logs (known as &amp;ldquo;witnessing&amp;rdquo;). Software developers can help improve different aspects of Internet security by contributing to this active and growing area.&lt;/p&gt;
&lt;h2 id="conclusion"&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;The Certificate Transparency community and larger transparency logging community have experienced a virtuous cycle of innovation, sharing ideas and implementation code between different systems and demonstrating the feasibility of new mechanisms and functionality. With the advent of tile-based logging in CT, the state of the art has moved forward in a way that helps log operators run our logs much more efficiently without compromising security.&lt;/p&gt;
&lt;p&gt;We&amp;rsquo;re proud to have participated in this experiment and the engineering conversation around the evolution of logging architectures. Now that we&amp;rsquo;ve shown how well the new API really works at scale, we look forward to having publicly-trusted Sunlight logs later this year!&lt;/p&gt;</summary>
    <published>2025-06-10T16:00:00+00:00</published>
  </entry>
</feed>
