Podcast
Root Causes 318: What Is ACME Renewal Information (ARI)?


Hosted by
Tim Callan
Chief Compliance Officer
Jason Soroko
Fellow
Original broadcast date
July 18, 2023
ACME is a functional and widely supported protocol for certificate provisioning and installation. A new extension to the protocol will help automate renewals. In this episode we explain ACME Renewal Information (ARI).
Podcast Transcript
Lightly edited for flow and brevity.
Now, there's obviously a lot of other ways to do that. There's all kinds of IT tools to do things that are far better than a cron job. A lot more reliably things that can be monitored, hey, if there's a problem, if things had to back up, checking logs if there was an error. There’s all kinds of proper IT ways to do things. That's not really the topic here, Tim. I think what we're going to be talking about is what's going on in the ACME world to help out with renewals?
Basically, you as the consumer of a publicly trusted certificate, and you're using your ACME client of choice, Certbot being an example. If ARI were implemented, what you’d presumably be able to do is use the client to actually ask the server, hey, what is my renewal info and in fact, I believe the method being proposed here is called renewal info and that basically would be a command sent off on your behalf to the server by the client. And then the server would then come back to you and say, oh, here is your, I think it's gonna potentially to come back with two things that need to be parsed. And ultimately renewal info is going to be sent by via GET command, and then the URL response can be parsed. And that parsing of that information will give you hey, this is the renewal info. This is the renewal window in which you are either in or not in and so the client would need to parse that URL to determine what the window is, and then how to act upon it.
And here's the oversimplified part. Part of the parsing procedure would then be, hey, am I within the renewal window, meaning, I have specified that I want to renew after 60 days, after 65 days, after 70 days. Yes, the servers will respond. You're renewal info will say to you, you are within the renewal window past the 60 days, or 65 days, or whatever it happens to be, and then the client can make a decision and go, oh, thank you for that information. I am now going to issue a renewal command through the ACME client and then use the standard ACME protocol to do a renewal function, which, of course, is not renewal because ACME doesn't really have a concept of renewal. This is the chicken and egg problem that it's trying to break is that it's renewal information, we're not really adding renewal concept into ACME as much as we are being able to configure a renewal window and be able to pull, hey, Mr. Server you know when my last cert was issued. Can you tell me when my renewal window is based off of that, and then the client not having to know anything can then act upon that information, Tim? That's what it's all about.

