On Thu, Jul 7, 2016 at 5:10 PM, Jacob Hoffman-Andrews <j...@eff.org> wrote:
> Re-adding the list. I dropped it by accident. > > On 07/07/2016 01:50 PM, Richard Barnes wrote: > > > > On Thu, Jul 7, 2016 at 3:38 PM, Jacob Hoffman-Andrews < <j...@eff.org> > j...@eff.org> wrote: > >> On 07/07/2016 11:16 AM, Richard Barnes wrote: >> > That wasn't my intent. Rather, I wanted the CA to be able to say, >> > e.g., "you have to provide a contact". Does that much seem useful? >> Ah, now I get it. But why would that be part of the cert request flow? >> It seems like a CA that has a "contact required" policy should enforce >> that policy when the account is created. Similarly, the "terms required" >> is already enforced at the per-request level: Let's Encrypt won't allow >> any authenticated requests until the terms are agreed to. >> >> > That's up to the out-of-band system. I feel pretty strongly that we >> need this out-of-band thing, and we need it to be flexible. >> >> Agreed we need some system for out-of-band requests, but I think we need >> to flesh out a flow for a hypothetical out-of-band request in more >> detail. In particular, we need to close the loop. The outbound direction >> is obvious - load this URL in a browser, expect something human readable >> with further instructions. However, we need the inbound direction as >> well. How does the client know when a human has completed the >> out-of-band instructions satisfactorily? That's why I added the status >> field in my example. >> > > Oh yeah, totally fine having the status field. > > >> Unrelatedly: I think these request objects probably need a status field >> and an expiry, like authorizations, and the ability for server or client >> to deactivate them. For instance, status could be: in-progress, >> completed, deactivated. >> > > Yeah, I was thinking something basically the same as authorizations: > - pending: You still need to fulfill some requirements > - invalid: This one is bad, you need to start over > - valid: You can use this to issue certs > - expired: You can't use this any more > > The only question I'm pondering is whether we need to separate "you can't > use this any more because you didn't complete the requirements fast enough" > from "... because you already issued all the certs you were allowed to > issue" (maybe with "closed" for the latter). I think I'm fine conflating > them for a first pass. > > I think there should be a one-to-one correspondence between these > "preconditions" or "requirements" objects (still trying to come up with a > good name) and certificates. I.e., you create one, and then you submit it, > and it's used up. To create another certificate you have to submit a new > request. There do wind up being some interesting interactions with rate > limiting: Do you check and decrement the rate limit before creating the > preconditions object, or when finalizing it? Nothing insurmountable, I > think. > > Regarding out of band: In this PR you have "out-of-band" as a type of > object that can appear in a preconditions object, but we already have a > challenge type "out-of-band." We should reconcile those. For instance, we > could say that a preconditions object contains a list of authorizations. > The "doneness" of each item in the list could then be expressed through > each authorization's status field. Problem: For paid CA's, I think payment > is a property of an order rather than a property of a domain name. One > possible workaround would be for those CAs to define a new identifier type, > e.g. "order number", and create authorizations for order numbers that have > out-of-band payment URLs. > Oh, please no hacks like that. I think it's clear that we need some OOB thing at the "application" / "requirements" level, precisely in order to avoid hacks like this. If we're going to remove one of these, we should remove the OOB challenge type. But I don't really think it's tragic to have both; they serve slightly different purposes. --Richard > Alternately, we could remove the oob-01 challenge in favor of implementing > the out-of-band functionality at the preconditions level instead. > > Andrew, what are your thoughts? >
_______________________________________________ Acme mailing list Acme@ietf.org https://www.ietf.org/mailman/listinfo/acme