6-Day and IP Address Certificates Are Generally Available

(letsencrypt.org)

136 points | by jaas 2 hours ago ago

53 comments

  • xg15 5 minutes ago ago

    IP addresses must be accessible from the internet, so still no way to support TLS for LAN devices without manual setup or angering security researchers.

  • ivanr 2 hours ago ago

    As already noted on this thread, you can't use certbot today to get an IP address certificate. You can use lego [1], but figuring out the exact command line took me some effort yesterday. Here's what worked for me:

        lego --domains 206.189.27.68 --accept-tos --http --disable-cn run --profile shortlived
    
    [1] https://go-acme.github.io/lego/
    • Svoka an hour ago ago

      I wonder if the support made it to Caddy yet

      (seems to be WIP https://github.com/caddyserver/caddy/issues/7399)

      • mholt 38 minutes ago ago

        It works, but as another comment mentioned there may be quirks with IP certs, specifically IPv6, that I hope will be fixed by v2.11.

      • jsheard an hour ago ago

        IPv4 certs are already working fine for me in Caddy, but I think there's some kinks to work out with IPv6.

  • cedws a minute ago ago

    I guess IP certs won't really be used for anything important, but isn't there a bigger risk due to BGP hijacking?

  • charcircuit 9 minutes ago ago

    Next, I hope they focus on issuing certificates for .onion addresses. On the modern web many features and protocols are locked behind HTTPS. The owner of a .onion has a key pair for it, so proving ownership is more trustworthy than even DNS.

  • qwertox 25 minutes ago ago

    I have now implemented a 2 week renewal interval to test the change to the 45 days, and now they come with a 6-day certificate?

    This is no criticism, I like what they do, but how am I supposed to do renewals? If something goes wrong, like the pipeline triggering certbot goes wrong, I won't have time to fix this. So I'd be at a two day renewal with a 4 day "debugging" window.

    I'm certain there are some who need this, but it's not me. Also the rationale is a bit odd:

    > 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.

    Are IP addresses more transient than a domain within a 45 day window? The static IPs you get when you rent a vps, they're not transient.

    • Sohcahtoa82 a few seconds ago ago

      > Are IP addresses more transient than a domain within a 45 day window?

      If I don't assign an EIP to my EC2 instance and shut it down, I'm nearly guaranteed to get a different IP when I start it again, even if I start it within seconds of shutdown completing.

      It'd be quite a challenge to use this behavior maliciously, though. You'd have to get assigned an IP that someone else was using recently, and the person using that IP would need to have also been using TLS with either an IP address certificate or with certificate verification disabled.

    • bigstrat2003 22 minutes ago ago

      The push for shorter and shorter cert lifetimes is a really poor idea, and indicates that the people working on these initiatives have no idea how things are done in the wider world.

      • Sohcahtoa82 5 minutes ago ago

        It's really security theater, too.

        Though if I may put on my tinfoil hat for a moment, I wonder if current algorithms for certificate signing have been broken by some government agency or hacker group and now they're able to generate valid certificates.

        But I guess if that were true, then shorter cert lives wouldn't save you.

    • kevincox 3 minutes ago ago

      The short-lived requirement seems pretty reasonable for IP certs as IP addresses are often rented and may bounce between users quickly. For example if you buy a VM on a cloud provider, as soon as you release that VM or IP it may be given to another customer. Now you have a valid certificate for that IP.

      6 days actually seems like a long time for this situation!

    • alibarber 7 minutes ago ago

      If you are doing this in a commercial context and the 4 day debugging window, or any downtime, would cause you more costs than say, buying a 1 year certificate from a commercial supplier, then that might be your answer there...

    • charcircuit 6 minutes ago ago

      >I won't have time to fix this

      Which should push you to automate the process.

      • buckle8017 3 minutes ago ago

        He's expressly talking about broken automation.

        • charcircuit a few seconds ago ago

          You can have automation to fix the broken automation.

  • gruez 2 hours ago ago

    For people who want IP certificates, keep in mind that certbot doesn't support it yet, with a PR still open to implement it: https://github.com/certbot/certbot/pull/10495

    I think acme.sh supports it though.

    • mcpherrinm an hour ago ago

      Some ACME clients that I think currently support IP addresses are acme.sh, lego, traefik, acmez, caddy, and cert-manager. Certbot support should hopefully land pretty soon.

      • sgtcodfish 32 minutes ago ago

        cert-manager maintainter chiming in to say that yes, cert-manager should support IP address certs - if anyone finds any bugs, we'd love to hear from you!

        We also support ACME profiles (required for short lived certs) as of v1.18 which is our oldest currently supported[1] version.

        We've got some basic docs[2] available. Profiles are set on a per-issuer basis, so it's easy to have two separate ACME issuers, one issuing longer lived certs and one issuing shorter, allowing for a gradual migration to shorter certs.

        [1]: https://cert-manager.io/docs/releases/ [2]: https://cert-manager.io/docs/configuration/acme/#acme-certif...

  • iamrobertismo 2 hours ago ago

    This is interesting, I am guessing the use case for ip address certs is so your ephemeral services can do TLS communication, but now you don't need to depend on provisioning a record on the name server as well for something that you might be start hundreds or thousands of, that will only last for like an hour or day.

    • jeroenhd 27 minutes ago ago

      One thing this can be useful for is encrypted client hello (ECH), the way TLS/HTTPS can be used without disclosing the server name to any listening devices (standard SNI names are transmitted in plaintext).

      To use it, you need a valid certificate for the connection to the server which has a hostname that does get broadcast in readable form. For companies like Cloudflare, Azure, and Google, this isn't really an issue, because they can just use the name of their proxies.

      For smaller sites, often not hosting more than one or two domains, there is hardly a non-distinct hostname available.

      With IP certificates, the outer TLS connection can just use the IP address in its readable SNI field and encrypt the actual hostname for the real connection. You no longer need to be a third party proxying other people's content for ECH to have a useful effect.

      • buzer 3 minutes ago ago

        As far as I understand you cannot use IP address as the outer certificate as per https://www.ietf.org/archive/id/draft-ietf-tls-esni-25.txt

        > In verifying the client-facing server certificate, the client MUST interpret the public name as a DNS-based reference identity [RFC6125]. Clients that incorporate DNS names and IP addresses into the same syntax (e.g. Section 7.4 of [RFC3986] and [WHATWG-IPV4]) MUST reject names that would be interpreted as IPv4 addresses.

      • agwa 5 minutes ago ago

        That doesn't work, as neither SNI nor the server_name field of the ECHConfig are allowed to contain IP addresses: https://www.ietf.org/archive/id/draft-ietf-tls-esni-25.html#...

        Even if it did work, the privacy value of hiding the SNI is pretty minimal for an IP address that hosts only a couple domains, as there are plenty of databases that let you look up an IP address to determine what domain names point there - e.g. https://bgp.tools/prefix/18.220.0.0/14#dns

      • jsheard 3 minutes ago ago

        I don't really see the value in ECH for self-hosted sites even with this change. If your IP only points to one or two sites then it's obvious where traffic is going even if ECH obscures the SNI field - it only works for Cloudflare and co because their IPs front millions of unrelated sites.

    • medmunds 19 minutes ago ago

      The July announcement for IP address certs listed a handful of potential use cases: https://letsencrypt.org/2025/07/01/issuing-our-first-ip-addr...

    • traceroute66 an hour ago ago

      > I am guessing the use case for ip address certs is so your ephemeral services can do TLS communication

      There's also this little thing called DNS over TLS and DNS over HTTPS that you might have heard of ? ;)

    • axus 2 hours ago ago

      No dependency on a registrar sounds nice. More anonymous.

      • traceroute66 44 minutes ago ago

        > No dependency on a registrar sounds nice.

        Actually the main benefit is no dependency on DNS (booth direct and root).

        IP is a simple primitive, i.e. "is it routable or not ?".

      • organsnyder 2 hours ago ago

        IP addresses also are assigned by registrars (ARIN in the US and Canada, for instance).

        • traceroute66 an hour ago ago

          > IP addresses also are assigned by registrars (ARIN in the US and Canada, for instance).

          To be pedantic for a moment, ARIN etc. are registries.

          The registrar is your ISP, cloud provider etc.

          You can get a PI (Provider Independent) allocation for yourself, usually with the assistance of a sponsoring registrar. Which is a nice compromise way of cutting out the middleman without becoming a registrar yourself.

          • immibis 39 minutes ago ago

            You can also become a registrar yourself - at least, RIPE allows it. However, fees are significantly higher and it's not clear why you'd want to, unless you were actually providing ISP services to customers (in which case it's mandatory - you're not allowed to use a PI allocation for that)

            • traceroute66 27 minutes ago ago

              > and it's not clear why you'd want to

              The biggest modern-era reason is direct access to update your RPKI entries.

              But this only matters if you are doing stuff that makes direct access worthwhile.

              If your setup is mostly "set and forget" then you should just accept the lag associated with needing to open a ticket with your sponsor to update the RPKI.

        • buckle8017 an hour ago ago

          Arguably neither is particularly secure, but you must have an IP so only needing to trust one of them seems better.

    • iamrobertismo 2 hours ago ago

      Yeah actually seems pretty useful to not rely on the name server for something that isn't human facing.

    • pdntspa an hour ago ago

      Maybe you want TLS but getting a proper subdomain for your project requires talking to a bunch of people who move slowly?

      • iamrobertismo an hour ago ago

        Very very true, never thought about orgs like that. However, I don't think someone should use this like a bandaid like that. If the idea is that you want to have a domain associated with a service, then organizationally you probably need to have systems in place to make that easier.

        • pdntspa 27 minutes ago ago

          Ideally, sure. But in some places you're what you're proposing is like trying to boil the oceans to make a cup of tea

          VBA et al succeeded because they enabled workers to move forward on things they would otherwise be blocked on organizationally

          Also - not seeing this kind of thing could be considered a gap in your vision. When outsiders accuse SV of living in a high-tech ivory tower, blind to the realities of more common folk, this is the kind of thing they refer to.

  • bflesch 33 minutes ago ago

    This sounds like a very good thing, like a lot of stuff coming from letsencrypt.

    But what risks are attached with such a short refresh?

    Is there someone at the top of the certificate chain who can refuse to give out further certificates within the blink of an eye?

    If yes, would this mean that within 6 days all affected certificates would expire, like a very big Denial of Service attack?

    And after 6 days everybody goes back to using HTTP?

    Maybe someone with more knowledge about certificate chains can explain it to me.

    • iso1631 26 minutes ago ago

      With a 6 day lifetime you'd typically renew after 3 days. If Lets Encrypt is down or refuses to issue then you'd have to choose a different provider. Your browser trusts many different "top of the chain" providers.

      With a 30 day cert with renewal 10-15 days in advance that gives you breathing room

      Personally I think 3 days is far too short unless you have your automation pulling from two different suppliers.

      • bflesch 6 minutes ago ago

        Thank you, I missed the part with several "top of the chain" providers. So all of them would need to go down at the same time for things to really stop working.

        How many "top of chain" providers is letsencrypt using? Are they a single point of failure in that regard?

        I'd imagine that other "top of chain" providers want money for their certificates and that they might have a manual process which is slower than letsencrypt?

  • meling an hour ago ago

    If I can use my DHCP assigned IP, will this allow me to drop having to use self-signed certificates for localhost development?

    • michaelt an hour ago ago

      No, they will only give out certificates if you can prove ownership of the IP, which means it being publicly routable.

      • wongarsu 35 minutes ago ago

        Finally a reason to adopt IPv6 for your local development

      • inetknght an hour ago ago

        A lot of publicly routable IP addresses are assigned by DHCP...

    • wolttam 44 minutes ago ago

      Browsers consider ‘localhost’ a secure context without needing https

      For local /network/ development, maybe, but you’d probably be doing awkward hairpin natting at your router.

      • treve 41 minutes ago ago

        it's nice to be able to use https locally if you're doing things with HTTP/2 specifically.

  • zamadatix an hour ago ago

    Does anyone know when Caddy plans on supporting this?

  • hojofpodge an hour ago ago

    Something about a 6 day long IP address based token brings me back to the question of why we are wasting so much time on utterly wrong TOFU authorization?

    If you are supposed to have an establishable identity I think there is DNSSEC back to the registrar for a name and (I'm not quite sure what?) back to the AS.for the IP.

    • ycombinatrix an hour ago ago

      Domains map one-to-one with registrars, but multiple AS can be using the same IP address.

      • hojofpodge 43 minutes ago ago

        Then it would be a grave error to issue an IP cert without active insight into BGP. (Or it doesn't matter which chain you have.. But calling a website from a sampling of locations can't be a more correct answer.)