Thanks; I was guessing it might be but was too lazy to look it up. And it, of course, leads to the next question of why the BRs mandate it, but that's probably getting even more off-topic than my usual rambling.
@orangepizza We do have a plan to reserve at least 1x RSA and 1x ECDSA intermediate. We'll revisit that decision again prior to allowing issuance from this generation of intermediates.
If conditions require a backup to be used, is there a plan yet for replacement? i.e. Would only the backup be replaced, or would the entire generation be replaced with a new 3 year end date, or something else?
Edit: I understand that a compliant client will be able to handle any of these scenarios, however knowing the likely rotation/replacement patterns will allow for test suites to better model the expected real-life conditions.
Thank's so much for that. I don't expect or need guarantees. If there is even a shortlist of 5 likely possibilities, I think those would be good to know for testing purposes.
None of this stuff should matter if there is a test that handles a single rollover successfully, but testing is cheap and running clients against real-world scenarios tends to surface some weird bug or usage pattern that just shouldn't be there.
So you're planning to incrementally use more different intermediates, to force clients (and users) to not hardcode them? Sounds like a plan to not change too many parts at once (new intermediates, new issuance stragegy).
As other have said, all of this shouldn't matter, but there are so many broken use cases out there...
But any ACME client anywhere can/will get certificates issued from all active intermediates (of according type) ? It will not depend on geo location or anything like that?
I assume the main purpose of having different intermediates is not to disseminate the private keys to different HSMs -- I might be wildly wrong and that would require a signing ceremony every time you acquire a new HSM, but yeah, it might make sense.
We considered having some intermediates only in a single DC, but while that works for issuance, we need to serve revocation (via OCSP and CRLs) from all DCs, so we need the intermediates online at all locations.
But externally, our CDN splits traffic randomly between DCs so it’s not geo-based or anything even if we do issue one intermediate from a single DC.
How exactly it works differs per-vendor, but there’s always some way to create some sort of group of HSMs that can talk to each other and securely share key material.