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.
This change is being made along with the rest of the industry, as required by the CA/Browser Forum Baseline Requirements, 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.



I’m sorry but if you aren’t using automated renewals then you are not using let’s encrypt the way it’s intended to be used. You should take this as an opportunity to get that set up.
Ours is automated, but we incur downtime on the renewal because our org forbids plain http so we have to do TLS-ALPN-01. It is a short downtime. I wish let’s encrypt would just allow http challenges over https while skipping the cert validation. It’s nuts that we have to meaningfully reply over 80…
Though I also think it’s nuts that we aren’t allowed to even send a redirect over 80…
Hot take: for-profit orgs should be buying TLS certificates from the CA cartel instead of using Let’s Encrypt. Unless you’re donating to LE, and in that case it’s cool.
is redirecting http to https also out of the question? because let’s encrypt HTTP-01 accepts http -> https redirects:
They in fact refuse to even do a redirect… it’s monumentally stupid and I’ve repeatedly complained, but ‘security’ team says port 80 doing anything but dropping the packet or connection refused is bad…
oh my god
Can’t use DNS?
The same screwed up IT that doesn’t let us do HTTP-01 challenges also doesn’t let us do DNS except through some bs webform, and TXT records are not even vaguely in their world.
It sucks when you are stuck with a dumber broad IT organization…
Wow…
Yikes. I feel for you man.
I’ve got it setup automated on all my external domains, but trying to automate it on my internal-only domain is rather tedious since not only do I NOT want to open a port for it to confirm, but I have 2 other devices/services on the network not behind my primary reverse proxy that share the same cert.
What In need to do is setup my own custom cron that hits the hosting provider to update the DNS txt entries. Then I need to have it write and restart the services that use the cert. I’ve tried to automate this once before and it did not go so smoothly so I’ve been hesitant on wasting time to try it again… But maybe it’s time to.
What would be ideal is if I could allow it to be automated just by getting a one time dns approval and storing a local private/public key to prove to them that I’m the owner of the domain or something. Not aware of this being possible though.
For internal stuff, it may be easier to set up your own CA.
Depends on which DNS service you are using, a plugin might already exist that would do it for you. e.g. I use cloudflare for DNS and certbot is able to automatically set the txt record.
Technically my renews aren’t automated. I have a nightly cronjob that should renew certificates and restart services, but when the certificates need renewal, it always fails because it wants to open a port I’m already using in order to answer the challenge.
I hear there’s an apache module / configuration I can use, but I never got around to setting it up. So, when the cron job fails, I get an email and go run a script that stops apache, renews certs, and restarts services (including apache). I will be a bit annoying to have to do that more often, but maybe it’ll help motivate me to configure apache (or whatever) correctly.
Debian Stable
The usual way for me is to give certbot write access to a directory in the HTTP root, so the server can keep running.
It does have access to the HTTP root directories. But, it still can’t open port 80/443 when apache already has that port open.
EDIT: I guess my
certbot renewjust needs to be reconfigured to use a--webroot, so it doesn’t try to listen on it’s own.You could try using the DNS challenge instead; I find it a lot more convenient as not all my services are exposed.
While I do have some control over my DNS and can create arbitrary TXT entries, I can’t to that in an automated way easily. I’m using Gandi.net to host my DNS rather than running my own DNS sever(s).
EDIT: Gandi is listed https://community.letsencrypt.org/t/dns-providers-who-easily-integrate-with-lets-encrypt-dns-validation/86438 so maybe I can automate a DNS-01 challenge without too much issue, I just have to switch away from
certbotto one of the other tools.I’m using automated renewals.
But, that just means there’s a new cert file on disk. Now I have to convince a half a dozen different apps to properly reload that changed cert. That means fighting with Systemd. So Systemd has won the first few skirmishes, and I haven’t had the time or energy to counterattack. Now instead of having to manually poke at it 4x per year, it’s going to be closer to once a month. Ugh.
Half a dozen sounds like a lot, kinda curious what you are running? If they all are web services maybe use a reverse proxy or something?
Web services, and then various components of an email system.
Don’t worry, they’ll sell you new software for another $50.00/m/certificate to help with the new certificate fiddling you now have to do monthly. It didn’t make sense for them to release it until they pushed through the 45 day window change through backchannels.
You could try a path unit watching the cert directory (there are caveats around watching the symlinks directly) or most acme implementations have post renewal hooks you can use which would be more reliable.
While I agree for my personal use, it’s not so easy in an enterprise environment. I’m currently working to get services migrated OFF my servers that utilize public certificates to avoid the headache of manual intervention every 45 days.
While this is possible for servers and services I manage, it’s not so easy for other software stacks we have in our environment. Thankfully I don’t manage them, but I’m sure I’ll be pulled into them at some point or another to help figure out the best path forward.
The easy path is obviously a load balanced front-end to load the certificate, but many of these services are specialized and have very elaborate ways to bind certificates to services outside of IIS or Apache, which would need to trust the newly issued load balancer CA certificate every 47 days.
Yeah, this has become an issue for us at work as well.
Currently we are doing a POC for an in-house developed solution where a azure function app handles the renewal of certificates for any domain we have, both wildcard and named, and place the certificates in a key vault where services that need them can get access.
Looks to be working, so the main issue now is finding a non-US certificate provider that supports acme. EU has some but even more local there aren’t many options.