Re: [Acme] Remove the hyphen from the acceptable character set for _acme-challenge TXT records.

Michael Richardson <mcr+ietf@sandelman.ca> Wed, 25 November 2020 22:37 UTC

Return-Path: <mcr+ietf@sandelman.ca>
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 EE1E83A1F1E for <acme@ietfa.amsl.com>; Wed, 25 Nov 2020 14:37:09 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Level:
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] 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 W9m1zrrpzweN for <acme@ietfa.amsl.com>; Wed, 25 Nov 2020 14:37:08 -0800 (PST)
Received: from tuna.sandelman.ca (tuna.sandelman.ca [IPv6:2607:f0b0:f:3:216:3eff:fe7c:d1f3]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 05A453A1F1D for <acme@ietf.org>; Wed, 25 Nov 2020 14:37:07 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by tuna.sandelman.ca (Postfix) with ESMTP id A3A53389E9; Wed, 25 Nov 2020 17:38:30 -0500 (EST)
Received: from tuna.sandelman.ca ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with LMTP id rqUsiXeiKt8Q; Wed, 25 Nov 2020 17:38:30 -0500 (EST)
Received: from sandelman.ca (obiwan.sandelman.ca [209.87.249.21]) by tuna.sandelman.ca (Postfix) with ESMTP id 069E9389E8; Wed, 25 Nov 2020 17:38:30 -0500 (EST)
Received: from localhost (localhost [IPv6:::1]) by sandelman.ca (Postfix) with ESMTP id 751AB66B; Wed, 25 Nov 2020 17:37:06 -0500 (EST)
From: Michael Richardson <mcr+ietf@sandelman.ca>
To: Mark Tomlin <Mark@mimocad.io>, acme@ietf.org
In-Reply-To: <CAPOmKtNvUS_hjJFm6=6yV-ep0jqmEkr49kwLTZQDEQb8MPQa-A@mail.gmail.com>
References: <CAPOmKtNvUS_hjJFm6=6yV-ep0jqmEkr49kwLTZQDEQb8MPQa-A@mail.gmail.com>
X-Mailer: MH-E 8.6+git; nmh 1.7+dev; GNU Emacs 26.1
X-Face: $\n1pF)h^`}$H>Hk{L"x@)JS7<%Az}5RyS@k9X%29-lHB$Ti.V>2bi.~ehC0; <'$9xN5Ub# z!G,p`nR&p7Fz@^UXIn156S8.~^@MJ*mMsD7=QFeq%AL4m<nPbLgmtKK-5dC@#:k
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-="; micalg="pgp-sha512"; protocol="application/pgp-signature"
Date: Wed, 25 Nov 2020 17:37:06 -0500
Message-ID: <8312.1606343826@localhost>
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/99hdiBGnPkIAg0ED8hpLYLjm_Ic>
Subject: Re: [Acme] Remove the hyphen from the acceptable character set for _acme-challenge TXT records.
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.29
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, 25 Nov 2020 22:37:10 -0000

Mark Tomlin <Mark@mimocad.io> wrote:
    > I have a bit of a feature request for you all. It's actually to remove
    > the hyphen from the TXT records to make it easier to copy and paste into a
    > DNS server record. Here's my scenario. I ran the following command on my
    > server (Ubuntu 20.04) that as you can see has cerbot on it and a large
    > number of domains to cover.

It is annoying, and I've run into the same problem as well.
The challenge is a base64url encoded (RFC4648) nonce.  It is preferred by web
programmers because it does not use + or /, which are special in URLs.
The base64 alphabet doesn't use -, but does use + and /, but which would
copy and paste better.

The format and contents of the nonce are not mandated by RFC8555, so
LetsEncrypt change this in many different ways.
It would be a unilateral decision on the ACME server only.

I actually think that BASE32 encoding would probably better: you could
probably write a pull-request to the letencrypt code base to do this.
I don't know how they would feel about this, but it would be worth learning.

    > Please deploy a DNS TXT record under the name
    > _acme-challenge.mimocad.io with the following value:

    > 6-K6v7VjtVpGhJk4d6Zx8qxsg6JFUZbGnnr-bDpKpSc

What annoyed me here when renewing a system with 10 different aliases is that
I don't know when I've gotten to the last one.  I should be shown all
10 at the same time, so that I can put them all in place, and then reload the
zone.  Instead, I count (badly), reload the zone too late or too soon...
Even better if they add the entire DNS presentation lines so that
I could copy&paste the entire set.
But, again, this is a client code issue, and not a protocol issue.

I have since bit the bullet and gotten nsupdate to do the right thing,
and it now autorenews on it's own, as Ghod intended.

--
Michael Richardson <mcr+IETF@sandelman.ca>   . o O ( IPv6 IøT consulting )
           Sandelman Software Works Inc, Ottawa and Worldwide