> Maybe it would be best to state "Hey, the CA generated its own Issuer Key IDs, it can be expected to recognize them too", and make the request simply IssuerKeyID + Serial, in some simple concatenate+base64url format.
Issuer Key ID plus serial makes a lot of sense to me, and I think should be the request format. ------------------------------ Any statements contained in this email are personal to the author and are not necessarily the statements of the company unless specifically stated. AS207960 Cyfyngedig, having a registered office at 13 Pen-y-lan Terrace, Caerdydd, Cymru, CF23 9EU, trading as Glauca Digital, is a company registered in Wales under № 12417574 <https://find-and-update.company-information.service.gov.uk/company/12417574>, LEI 875500FXNCJPAPF3PD10. ICO register №: ZA782876 <https://ico.org.uk/ESDWebPages/Entry/ZA782876>. UK VAT №: GB378323867. EU VAT №: EU372013983. Turkish VAT №: 0861333524. South Korean VAT №: 522-80-03080. AS207960 Ewrop OÜ, having a registered office at Lääne-Viru maakond, Tapa vald, Porkuni küla, Lossi tn 1, 46001, trading as Glauca Digital, is a company registered in Estonia under № 16755226. Estonian VAT №: EE102625532. Glauca Digital and the Glauca logo are registered trademarks in the UK, under № UK00003718474 and № UK00003718468, respectively. On Thu, 20 Jul 2023 at 17:38, Aaron Gable <aaron= 40letsencrypt....@dmarc.ietf.org> wrote: > On Wed, Jul 19, 2023 at 11:16 PM Ilari Liusvaara <ilariliusva...@welho.com> > wrote: > >> E.g., the client might be deterministically generating renewal time >> from window (the client I wrote does this). This works nicely if the >> renewal window does not shift around. However, it becomes heavily >> biased toward beginning of the window if the window shifts around. > > > Why? The draft specifically says that clients should be choosing a time > within the window randomly, not deterministically. What's the motivation > (and method) for doing a deterministic derivation? > > On Wed, Jul 19, 2023 at 11:16 PM Ilari Liusvaara < > ilariliusva...@welho.com> wrote: > >> The single most annoying part of the process is the hash of the issuer >> key. For that, you need the issuer certificate, while everything else >> can be pulled from the subject certificate. > > > On Thu, Jul 20, 2023 at 3:31 AM Deb Cooley <debcool...@gmail.com> wrote: > >> Issuer key hash: Is this not in the Authority Key ID extension? Or is >> this extension not used? >> >> If these things are not the same, my recommendation would be to use >> Authority Key ID value as a way to ID the issuing CA. >> > > On Thu, Jul 20, 2023 at 7:10 AM Ilari Liusvaara <ilariliusva...@welho.com> > wrote: > >> AFAICT, no. >> >> RFC5280 merely recommends a construction for AKI, that nevertheless >> happens to match value used by issuer key hash in OCSP. >> >> However: >> >> 1) One can not rely on this, because some CAs do it differently. >> >> 2) The value used in ARI is computed using SHA-256, and does not match >> the recommended AKI construction. >> > > To be clear, the issuer hashes in ARI are *not* computed using SHA-256, > they're computed using any hash algorithm of the client's choice, just like > OCSP. This is what I meant when I said that OCSP's "CertID" structure has > "algorithm agility": it has an algorithm field which must be set to the > algorithm used to hash the Issuer Name and Issuer Key. Let's Encrypt's ARI > implementation happens to reject any requests which use an algorithm other > than SHA-256, but that's not part of the draft. > > Producing the IssuerNameHash is easy from just the end-entity certificate, > since the Issuer Name is of course embedded in it. > > Producing the IssuerKeyHash is *almost* easy from just the end-entity > certificate, but in fact impossible to guarantee correct. For example, if a > CA follow's RFC 5280 Section 4.2.1.2 to construct their Subordinate CA > Certificates' Subject Key Identifier (specifically "The keyIdentifier is > composed of the 160-bit SHA-1 hash of the value of the BIT STRING > subjectPublicKey (excluding the tag, length, and number of unused bits)"), > then the end-entity cert's IssuerKeyID is exactly the needed IssuerKeyHash > with a hash algorithm of SHA-1. Similarly, all of Let's > Encrypt's Subordinate CA Certs use the exact same method ( > https://github.com/letsencrypt/boulder/blob/908421bb98c11c8ffce640029b6357446c528cfb/cmd/ceremony/cert.go#L199-L209), > except with SHA-256 instead of SHA-1. So it is *technically* possible for > clients to simply extract the AuthorityKeyId, transfer it to the CertID, > and submit it to Let's Encrypt's ARI endpoint. > > However, there's no way to guarantee that. The AuthorityKeyID field gives > no indication of how it was produced, and there's no way to guarantee that > a CA will continue to use the same method over time. So to guarantee > correctness, a client can't rely on the AKID and has to use the Issuer cert > to re-derive the Issuer Key Hash. > > This is very unfortunate, and is the primary reason that I'm seriously > considering changing the request format. It would be truly nice for the > request to be constructable using *only* the end-entity cert. > > Maybe it would be best to state "Hey, the CA generated its own Issuer Key > IDs, it can be expected to recognize them too", and make the request simply > IssuerKeyID + Serial, in some simple concatenate+base64url format. > > On Thu, Jul 20, 2023 at 4:14 AM Rob Stradling <rob= > 40sectigo....@dmarc.ietf.org> wrote: > >> For reasons I outlined in >> https://mailarchive.ietf.org/arch/msg/acme/aoiW7X3lPYoQ6X8hhRGEvG3HDmo/, >> I have a strong preference for sticking with CertID and an equally strong >> preference against a 'return to the "url in the Order object" '. >> > > Returning to that message, the main impression I get is that you want ARI > to be implementable outside of an ACME server, so you can implement it in > OCSP responder infrastructure. This makes sense, but raises two questions > in my mind: > 1) How do you intend to achieve this goal now that ARI includes POST > protocols which by definition must be aware of ACME user accounts? > 2) This desire doesn't seem tied to the CertID structure itself, just to > the idea of independently-constructable ARI request URLs. Would you be okay > with a different structure, as long as it is still externally constructable? > > Thanks, > Aaron > _______________________________________________ > Acme mailing list > Acme@ietf.org > https://www.ietf.org/mailman/listinfo/acme >
_______________________________________________ Acme mailing list Acme@ietf.org https://www.ietf.org/mailman/listinfo/acme