[Acme] draft-ietf-acme-acme-02 review, a few more nits

Ron <ron@debian.org> Wed, 23 March 2016 00:47 UTC

Return-Path: <ron@debian.org>
X-Original-To: acme@ietfa.amsl.com
Delivered-To: acme@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DAD3712D86A for <acme@ietfa.amsl.com>; Tue, 22 Mar 2016 17:47:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.62
X-Spam-Level:
X-Spam-Status: No, score=-2.62 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 11Gn6ySIvhmN for <acme@ietfa.amsl.com>; Tue, 22 Mar 2016 17:47:11 -0700 (PDT)
Received: from ipmail05.adl6.internode.on.net (ipmail05.adl6.internode.on.net [150.101.137.143]) by ietfa.amsl.com (Postfix) with ESMTP id 2C88A12D1C1 for <acme@ietf.org>; Tue, 22 Mar 2016 17:47:10 -0700 (PDT)
Received: from ppp14-2-14-167.lns21.adl2.internode.on.net (HELO mailservice.shelbyville.oz) ([14.2.14.167]) by ipmail05.adl6.internode.on.net with ESMTP; 23 Mar 2016 11:16:50 +1030
Received: from localhost (localhost [127.0.0.1]) by mailservice.shelbyville.oz (Postfix) with ESMTP id 27284FFCCF for <acme@ietf.org>; Wed, 23 Mar 2016 11:16:50 +1030 (ACDT)
X-Virus-Scanned: Debian amavisd-new at mailservice.shelbyville.oz
Received: from mailservice.shelbyville.oz ([127.0.0.1]) by localhost (mailservice.shelbyville.oz [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 58wvDtMzFlHs for <acme@ietf.org>; Wed, 23 Mar 2016 11:16:48 +1030 (ACDT)
Received: from hex.shelbyville.oz (hex.shelbyville.oz [192.168.1.6]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mailservice.shelbyville.oz (Postfix) with ESMTPS id A062AFF96C for <acme@ietf.org>; Wed, 23 Mar 2016 11:16:48 +1030 (ACDT)
Received: by hex.shelbyville.oz (Postfix, from userid 1000) id 8D9FC80470; Wed, 23 Mar 2016 11:16:48 +1030 (ACDT)
Date: Wed, 23 Mar 2016 11:16:48 +1030
From: Ron <ron@debian.org>
To: acme@ietf.org
Message-ID: <20160323004648.GC15641@hex.shelbyville.oz>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
User-Agent: Mutt/1.5.23 (2014-03-12)
Archived-At: <http://mailarchive.ietf.org/arch/msg/acme/-zLM9X-Jd1ZmldOZSaCO_voW82I>
Subject: [Acme] draft-ietf-acme-acme-02 review, a few more nits
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: Automated Certificate Management Environment <acme.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/acme>, <mailto:acme-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/acme/>
List-Post: <mailto:acme@ietf.org>
List-Help: <mailto:acme-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/acme>, <mailto:acme-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 23 Mar 2016 00:47:13 -0000

Hi,

So folding in all the changes that landed for the -02 draft yesterday
to my code was fairly painless, though there's a few things I still
can't actually test until there's a server which supports them.

I have a few more nits from going through the changes more carefully
though, easy ones first this time (:


 - More typos.

 "using JWS to provide som additional security properties"

 "which protects against an intermediary changing the request URI
 to anothe ACME URI"


In "Deleting an authorization" it says:

 "If the server deletes the account then it MUST send a response with a
 200 (OK) status code and an empty body"
 
Which should probably be s/account/authorization/ (it's otherwise the
same text copied from the Deleting an account section).



 - tls-sni-02

Says: "Open a TLS connection to the domain name being validated on the
       requested port"

Which is unchanged from tls-sni-01 - but we don't actually specify a
way to request a non-default port anywhere.

Unless someone has a good argument for why we should support that, we
should probably just fix the text to not say that.



 - 6.3 Registration

There's no explicit description of what the server is expected to return
if registration is updated or queried, aside from that it MUST contain
the link headers as per new registration.

That should probably be fleshed out a little more.



 - 6.1.1 Registration Objects

This ...  probably needs to be restructured somewhat for clarity.

In the changes for -02, authorizations and certificates were marked as
being 'required' now.  And I think I understand what is intended there,
that a server should be required to always include them ...

But:

 a) I'm not sure why that should be a hard requirement.
    What should those URIs return/do if there are not yet any
    authorizations or certificates for a registration?

    It did make sense to me to not include them in that case.

 b) This is now somewhat confusing and misleading with all the other
    uses of 'registration objects' documented later in the text, where
    when a client sends one as a request it shouldn't include those
    "required" fields and a server MUST ignore them if it does.

    We also add yet another field, 'delete' in 6.3.2, which isn't
    documented in that set in the initial description.


I'd like to see all of the possible fields, including 'delete'
documented in the introduction to the Registration Object, and we
probably need something a bit more nuanced than "required", when
what is really meant there is "required (except when it's not)".

Maybe the right answer to that is the request objects need some
different name than "stub Registration Object" to distinguish
them - or maybe it's enough to just document a bit more thoroughly
when each field is used/required/must not be included in the
introduction text.

I don't have a particularly strong preference for either of those
options, I'd just like the definitions of those fields to not be
contradicted by later text in the document, with no cross references
between the separate sections that must all be read together to
put together the complete picture of what is a valid Registration
Object in any given context.


  Cheers,
  Ron