Re: [Acme] kinds of proof

Paul Hoffman <> Tue, 02 December 2014 18:01 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id 5ABE61A0673 for <>; Tue, 2 Dec 2014 10:01:55 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3.647
X-Spam-Status: No, score=-3.647 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_MISMATCH_COM=0.553, RCVD_IN_DNSWL_MED=-2.3] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id WTVQpkcPifKt for <>; Tue, 2 Dec 2014 10:01:52 -0800 (PST)
Received: from (Hoffman.Proper.COM []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id A6BB11A0392 for <>; Tue, 2 Dec 2014 10:01:52 -0800 (PST)
Received: from [] ( []) (authenticated bits=0) by (8.14.9/8.14.7) with ESMTP id sB2I1ogW066341 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Tue, 2 Dec 2014 11:01:51 -0700 (MST) (envelope-from
X-Authentication-Warning: Host [] claimed to be []
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\))
From: Paul Hoffman <>
In-Reply-To: <>
Date: Tue, 2 Dec 2014 10:01:50 -0800
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <>
To: Peter Bowen <>
X-Mailer: Apple Mail (2.1993)
Subject: Re: [Acme] kinds of proof
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Automated Certificate Management Environment <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 02 Dec 2014 18:01:55 -0000

On Dec 2, 2014, at 9:37 AM, Peter Bowen <> wrote:
> On Tue, Dec 2, 2014 at 9:29 AM, Paul Hoffman <> wrote:
>> Greetings. It seems that some people want ACME to force a higher level of assurance on the protocol than those of us who are trying to get more authenticated encryption everywhere would want. Given that we still don't have a published Internet Draft (ahem), it would be good to come to agreement early on what is going to be required.
>> A specific use case that is important to me is someone running a web server on a commercial hoster should be able to get a TLS cert using ACME even if the hoster does not have its own ACME support. The site admin in that case should be able to run an ACME client on their laptop and be able to go through the ACME steps needed to get a cert that they can load into their web site, then tell the hoster to turn on port 443.
>> If the hoster supports the ACME steps itself, the web admin might not even need to do anything: the hoster can run ACME for them to get the cert. Given that hosters are always trying to cut customer service costs, ACME should allow hosters to automate the cert process to the point where no human interaction is needed after the hoster decides "this site will now use HTTPS".
> I would also encourage that the case be supported where the "hoster"
> controls the DNS but not the content on the site.   This is the
> situation for most CDNs and Load Balancing services.  Technically the
> CDN/LB could special case responses for a well known path, as it is
> handling the HTTP connection, but it is frequently easier to validate
> control via DNS.

This seems like an important additional use case.

>> Proposal:
>> - ACME clients and servers can be run without human interaction during the ACME exchange itself. All configuration can be done before the ACME client initiates the session, as long as the system running the ACME client has control over the service for which the certificate is being issued. A human may need to make manual changes if their system does not have an ACME setup, but the ACME protocol supports full automation as well.
>> - A CA must verify that the system on which the ACME client is running can control the service for which the certificate is being issued.
> If the ACME client can change DNS, then it clearly can effectively
> control the service (FQDN) for which the certificate is being issued.

Yes. The current wording supports the new use case.
>> - The system running the ACME client does not have to have control over the DNS service that controls the domain name being used in the requested certificate; however, particular DNS control can be required by policy by an ACME server.
> I would expect an ACME server can choose to support DNS-based
> verification, HTTP-based verification, TLS-based verification, or some
> combination thereof.

The current wording supports the new use case.

>> - The ACME protocol has to have expressive enough semantics so that an ACME server can tell an ACME client in detail what policy is causing the ACME server to reject a particular certificate request.

--Paul Hoffman