[Acme] Two pull requests from me waiting.
Sebastian Robin Nielsen <sebastian@sebbe.eu> Tue, 02 June 2026 23:19 UTC
Return-Path: <sebastian@sebbe.eu>
X-Original-To: acme@mail2.ietf.org
Delivered-To: acme@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id D228FF9B04C2 for <acme@mail2.ietf.org>; Tue, 2 Jun 2026 16:19:34 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1780442374; bh=rLYmsu3QzckuEe2F+YSUB95Qi8ccet10EqsLWTRrFmU=; h=From:To:Date:Subject; b=forQQ7xW/4fxTwyRMVU3M6vyQ768WJm4KyX0tJuPvbo2TG/MlrS8L74aq9rjBcmuU MTyobEP5DP+MVAnMPP0UjT5LlGG4XD/7z0UHaQ068ncAa1Xzo5n4kPAOwRbo+zo3bN Ca35N3H/gXsnWNKRdzMY1pGMBSCOa89aLa6ZXdHo=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.099
X-Spam-Level:
X-Spam-Status: No, score=-2.099 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_PASS=-0.001, TVD_PH_BODY_ACCOUNTS_PRE=0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=sebbe.eu
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ce8d1yKQTcoY for <acme@mail2.ietf.org>; Tue, 2 Jun 2026 16:19:34 -0700 (PDT)
Received: from dns2.sebbe.eu (dns2.sebbe.eu [IPv6:2001:470:dff1:1:10::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id B6A95F9B04B5 for <acme@ietf.org>; Tue, 2 Jun 2026 16:19:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=sebbe.eu; s=root; h=BIMI-Selector:Date:To:From:cc; bh=xXw8NOWxJbLntHQYommqnPpvS3WT9c/ZdjW1eMcYeiY=; b=ieKzEXk7C1yeUBxHQeSeWl+HcV MjI4DSbDfDhk7JPqVeqJmyxPlG4vzbAChg5VGCILOBl4SFuJqbiQffK3Jb25U9T4thH/pVi2bCGHn tRMMXyruqq4OPAV7O9tg3ZXtVvXbi5cIwDYsh6pESgye2X4AvjUk1Ue8NdE0AEV/H3q382XxnlYbc 4QchtoEiSRIOBJgK29/93yy5t4ILL9j6hmo8hXKAdaYQtExMqtUVKSUR+yMQsZmh/RVHhyc5++eEQ LXdo2n3G2Ck9pD1gjpbm1C0wOUxyj11b7jeZFznMOX/dN6xx9Gnsd2ZW+qkXdEhlEk5gKxZGiRG6W TpYSJrng==;
Received: from localhost ([127.0.0.1] helo=sebastian-desktop) by sebbe.eu with esmtp (Exim 4_94_RC0-31-83e8da8c0-XX) (envelope-from <sebastian@sebbe.eu>) id 1wUYOL-001EaL-RO for acme@ietf.org; Wed, 03 Jun 2026 01:19:25 +0200
Received: from [192.168.1.180] (helo=DESKTOPSU6FAEM) by sebbe.eu with esmtpa (Exim 4_94_RC0-31-83e8da8c0-XX) (envelope-from <sebastian@sebbe.eu>) id 1wUYOL-001EaI-F5 for acme@ietf.org; Wed, 03 Jun 2026 01:19:25 +0200
From: Sebastian Robin Nielsen <sebastian@sebbe.eu>
To: 'Mailing List' <acme@ietf.org>
Message-ID: <003901dcf2e6$40b11820$c2134860$@sebbe.eu>
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="----=_Part_86_1497191403.1780442365809"
X-Mailer: Microsoft Outlook 16.0
Thread-Index: Adzy5GMkUitB81poSaCZAcXs48Pypw==
X-Encryption-Target: external
Date: Wed, 03 Jun 2026 01:19:25 +0200
BIMI-Selector: v=BIMI1; s=default
Message-ID-Hash: GUVPHZ673MRPKAMCO63ZKDGIJQQCBYFM
X-Message-ID-Hash: GUVPHZ673MRPKAMCO63ZKDGIJQQCBYFM
X-MailFrom: sebastian@sebbe.eu
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-acme.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Acme] Two pull requests from me waiting.
List-Id: Automated Certificate Management Environment <acme.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/ZobaYSaYT8weSLBODnCbBm5Y6mA>
List-Archive: <https://mailarchive.ietf.org/arch/browse/acme>
List-Help: <mailto:acme-request@ietf.org?subject=help>
List-Owner: <mailto:acme-owner@ietf.org>
List-Post: <mailto:acme@ietf.org>
List-Subscribe: <mailto:acme-join@ietf.org>
List-Unsubscribe: <mailto:acme-leave@ietf.org>
https://github.com/ietf-wg-acme/draft-ietf-acme-dns-persist/pulls First one: This is to change the language in the document. issuer-domain-name is a opaque value from client's point of view. That means, the client does not make a request, verify or otherwise make any connection to the value in the field "issuer-domain-name". it could be a random hash like "adf6a97f6a95f85fda5f9d59a98fda59fa6". It would work perfectly still. That means, protecting the "issuer-domain-name" does not give any security advantage from the clients point of view. A compromise of "issuer-domain-name" would also not give any security degradation. The "issuer-domain-name" may even be a domain the CA no longer owns (for example a legacy domain they no longer renew, but still keep in their CPS to keep old dns-persist-01 records working indefinitely). Tthe above pull request changes it to "ACME Directory URL" - which is the sensitive resource the CA owns in the ACME world. Max Hearnden suggested that a ACME Directory may emit cross-domain URLs in its directory - for example a newAccount URL that does not reside at the same domain as the Directory. This newAccount URL could then be independently compromised. However, in my opinion, its the CAs responsibility - if they host parts of their ACME infrastructure on different domains - to at least perform some basic health checking of their sub-resources and shut down the Directory URL if any sub-resource is found to be comrpomised. Thus, the important thing to keep secure (with DNSSEC and other things) is the ACME Directory URL. Thats a URL that is the "root of trust" for the ACME client, and failing to secure that would mean complete takeover of the ACME client. Second one: Its a variation of my "pubkey:" idea, but instead of a SPKI hash of the pubkey, I chose a JWK thumbprint. In this way, functionality to verify it already exist server-side and functionality to generate it, exist client-side (in the same functions which generate a JWK thumbprint for use in HTTP-01 challenges). To avoid a CA going foul of the CAB forum rules, I chose to make a rule that a CA must invalidate any authorizations that have been validated using a pubkey: record, IF a keyChange is made on the account, so if said key would be moved to a second account, a pubkey: record doesn't accidentially validate 2 account to issue certificates simultaniously for the same record (which is prohibited by the CAB forum since each dns-persist-01 record may only link to ONE account). Client functionality that a client must reject a pubkey: URL emitted from a ACME server (as discussed) - I choose to omit, since a pubkey: record is SUPPOSED to be generated completely offline. Clients implementing support for pubkey: records will thus already do the calculations offline. Hope you like the pull requests, and it would be nice if someone in the ACME group could take a look on them and see if there is any problems. the first one should not really be a problem to merge. Best regards, Sebastian Nielsen
- [Acme] Two pull requests from me waiting. Sebastian Robin Nielsen
- [Acme] Re: Two pull requests from me waiting. Henry Birge-Lee