[Acme] Re: ACME and PLANTS
Jacob Hoffman-Andrews <jsha@letsencrypt.org> Mon, 13 April 2026 19:55 UTC
Return-Path: <jsha@letsencrypt.org>
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 43AE7DB8730D for <acme@mail2.ietf.org>; Mon, 13 Apr 2026 12:55:42 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ietf.org; s=ietf1; t=1776110142; bh=0wvW8VQqrOu+QVioCnVsG1+JhlzWnRIIlGNgK1OWVTc=; h=References:In-Reply-To:From:Date:Subject:To:Cc; b=jIzxhqeGaHzMWMF3PtMmZk9waRWACrFexCH/QvqiV1ML4OGaIG8d9dIVEiD7mGbed u1isk6JdBYYIofwPZyg0A2F8xwC5vHxL9gHYzVPkDqBPbkuST9BZ56rVyUAjwfE3ex KijdVVNciTy6u26yxbK1oc+ncmlqQHAcwz7Cvhlc=
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.09
X-Spam-Level:
X-Spam-Status: No, score=-2.09 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_KAM_HTML_FONT_INVALID=0.01] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (1024-bit key) header.d=letsencrypt.org
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 bbVecP8dIJ74 for <acme@mail2.ietf.org>; Mon, 13 Apr 2026 12:55:41 -0700 (PDT)
Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 9B1CBDB871C3 for <acme@ietf.org>; Mon, 13 Apr 2026 12:54:30 -0700 (PDT)
Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-671dad7cac8so117809a12.0 for <acme@ietf.org>; Mon, 13 Apr 2026 12:54:30 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; t=1776110064; cv=none; d=google.com; s=arc-20240605; b=ZXsJns1i2ZJWm4JuXXre9+kjWKSMSVOsCFEytDAszar4Y3aY8sqmqYKRmHy1fOBv7B y7LijB0MIgugJmm3tQF5XWgz1DWZyqSHrvfzo/M2Pwb/bqMOH1P0mlArp0Jvzw5jXo8U 6aJsRr+GdyotXmGaqnZBK2xVHUxlZUNIeN1pHWcJDFE4SfUjGY0wgktDEBZpQWg+cJbl jfqYM8R0DcKlV4+B251bEM0rifyQ0ShcOjU5aF3+4+lapryVmoWeQ2VaULzomZmkAez6 OqJdw2dCRuGGBQ+k2cnaRN342mvEEc6sx4Dntk9YhOcM5EydPoYM9RjklebxzTEhDg9G O4NA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=8TYKrzf2czfQoM8C7C+Jx1T8pHu1UZDIMNoGLaJBIpA=; fh=m5iCvA27lWzqmhz+bijjmFwkq64KFDCFjukvQxLK/FU=; b=AQYyO4Cu3QlahZRcfysXndjBAyqmy1Use6K+Q8Lymau5LjzlLEtrhw1F/5xdG86HAX EE47biCkkpkPJV5X1UFPIWws7q9fafgG42mCezd/y5+o/5qTZuCSNGot+q+tGlzDZB6Q gMBHYeAsF3mtVDH0g951Hj9hbzvrwXwvzTHo8EIjaM9nRBJ+RwOijg+cC9LGsN34mIRc s8UYM6Yt7IGmnuNNgW1j+HuYDJPmJwr/5268JMuOKElfmLr0kzA/PPOQiE5KDLiSOqAr 0KJSMx1ya3pstF5WNi58TWvFXwmjFAaA/SRBTLJ8k3yuE1CQNuRuQNMr+r4Ph6VH8LPy RV4w==; darn=ietf.org
ARC-Authentication-Results: i=1; mx.google.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=letsencrypt.org; s=google; t=1776110064; x=1776714864; darn=ietf.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=8TYKrzf2czfQoM8C7C+Jx1T8pHu1UZDIMNoGLaJBIpA=; b=Y7U4aFf+KTfpP6H2aBXGUnT6EzcRQ+mPgE8RI5r8AOVVjvrpw8A5IAXtHRR+37nfyT X+tjkbEKNcxNfPSuVMyvrOBkUrpneoz3dKMO7htC1dLsEJX2IBN+oE0jdEpE1/2kFdRC eq0w5doRaCqkghSTXSW+ZE11/g4K53FdRFLhQ=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776110064; x=1776714864; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=8TYKrzf2czfQoM8C7C+Jx1T8pHu1UZDIMNoGLaJBIpA=; b=Yb8bm73gleOSQWbX2CHkluKeiEXeFkWFPtdnSFOao79g/5VdVlr5Ko7o//X9Yq3EWi eRDSiKIPE0309G2Rz2iAtn7Ung2fC0NGia1CEomXCeGZx5DgPKh659muB6Flg3c/DB5f IMpSN60l6ZKxOdNhyYPWcoGDhEgiJ7k9VeTd26M97HH+/sx6OIpgDYOYfJYdxDiYlzHg klFybNvCJEvTqF4LqPi5v/uq98mwAs69uMBFo8swAUIkVD9qZoQY5F4vxM9bonxRMwG1 PhCK5fuguOhgL7Z52utGlmpbCXNYa6k0c5FSkKKCRcW8GlUSlltYZkNuWnlKiB9DURwf Kcrg==
X-Gm-Message-State: AOJu0YzyPZcBTCVs/0ft1vf224YhDoYGoVNtbf0K5COcS1PNKUD7/j/S CTeDEr/h7+f7vsDEcx/Iev//0YNld9uTi+5RsDavlJLTqEJ+TZnb8r3E4z4dS7jkh3ia6d4IshN UJPgAwbz+DfauAqC1TKQdFJFUFmScp8EzqGKJVKqD1qn7/SsB8t1K25o=
X-Gm-Gg: AeBDieuIvXdBB4ThWryfX9EH0VBNhX5NR4Agp+KVxZRHQAUfH5YvkB6/38qqwaC1Oat lbXFCscsSYF1CvPyHNzyTCM7lC3N8DQQfoT1XqwpgTIz3iRRTGEaLWJJJ192nrG0nbgPXsGvVu5 hqNRTL1E0Wz6us2pkXRV50ZJ/GHdB/39Bfk4rBnkbOB8uh4ZUllC4mEfb3b86SK9Aq6UZtVQwUI h56p3HwL/dESzJkiEOColHO6KvBzlw5828Ye3MXKsqlDIStQSGY53kCCzIMyY0cNPfEjKZ1BEYA VFNm89X7n35MvJydvg==
X-Received: by 2002:a17:907:3e88:b0:b9c:b069:8abe with SMTP id a640c23a62f3a-b9d724d9f66mr842994266b.12.1776110063807; Mon, 13 Apr 2026 12:54:23 -0700 (PDT)
MIME-Version: 1.0
References: <CAF8qwaApZbT5C1q3-g5yTPxYJTuJeZqMgb=_Gu=hqYRnrtiJkA@mail.gmail.com>
In-Reply-To: <CAF8qwaApZbT5C1q3-g5yTPxYJTuJeZqMgb=_Gu=hqYRnrtiJkA@mail.gmail.com>
From: Jacob Hoffman-Andrews <jsha@letsencrypt.org>
Date: Mon, 13 Apr 2026 12:53:57 -0700
X-Gm-Features: AQROBzCsfH_UzVpRYfxrnMbO1CdwJWZ0CeTso7R98LbbKD7_Gdad7hZ1GUU5ymQ
Message-ID: <CAN3x4QnqyQkobC+S_Er01YSGJ_tVXHqRCRnzMjxNMRBpeQihqw@mail.gmail.com>
To: David Benjamin <davidben@chromium.org>
Content-Type: multipart/alternative; boundary="0000000000006f8248064f5cd9ff"
Message-ID-Hash: WZ7ALQHXERRZTOTFTER77NOUTLWJPL2S
X-Message-ID-Hash: WZ7ALQHXERRZTOTFTER77NOUTLWJPL2S
X-MailFrom: jsha@letsencrypt.org
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
CC: IETF ACME <acme@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Acme] Re: ACME and PLANTS
List-Id: Automated Certificate Management Environment <acme.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/01UXyJYG2viqCnDIvNTSAIX0RB8>
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>
I've drafted another approach to the integration here: https://github.com/ietf-plants-wg/merkle-tree-certs/pull/207. Copying the pull request description: An ACME client polls landmarkURL (which may be shared across many certificates) to determine when a landmark-relative certificate is possible. Once a landmark-relative certificate is possible, the ACME client POSTs to newRelativeCertificate (from the directory). Advantages: - No new states in the Order state machine. - No new polling semantics for certificate download URLs. - CAs do no extra work for clients that don't want relative certificates (or: clients can defer getting relative certificates until they see that traffic justifies it). - Order lifetime does not depend on landmarking period. - All HTTP requests are expected to serve 200 in the happy case. - The new field in the directory serves as a signal that the ACME server supports Merkle Tree Certificates. Disadvantages: - ACME clients will tend to rush in and request relative certificates as soon as a landmark is minted. Options: - CA returns 503 if load is too high and clients backoff and retry. - Some mechanism for clients to decide how long to wait after a landmark is minted before requesting a relative certificate. Perhaps interpolation based on size of landmarks? Keeping list context together: David Benjamin recently proposed a different approach, based on continued polling of order objects after the standalone certificate is issued: https://github.com/ietf-plants-wg/merkle-tree-certs/pull/203. This was in response to some good points about HTTP statuses made by Watson Ladd on the plants@ list: https://mailarchive.ietf.org/arch/msg/plants/_vf4hEt9g4n6CdriRrtZO5ZGwOA/ On Thu, Mar 12, 2026 at 10:53 AM David Benjamin <davidben@chromium.org> wrote: > Hi ACME folks, > > (I wasn’t sure about cross-posting etiquette, so I haven't CC'd plants@ > here. Rather, I’ll point plants@ to this thread shortly. Figure it’s > always easier to merge threads than to split them.) > > For folks who haven’t been following, we have a new PLANTS > <https://datatracker.ietf.org/group/plants/about/> WG! It’s definitely > not just an excuse to make plant puns. The WG recently adopted Merkle > Tree Certificates > <https://datatracker.ietf.org/doc/draft-ietf-plants-merkle-tree-certs/> > (MTC) as a starting point. This is all quite early (and obviously I’m > just speaking for myself and not the group), but there is some overlap with > ACME and I figure it's better to start conversations sooner than later. > > The draft has an initial pass at how to put them together here. Happily, > it seems ACME is already rich enough to express what MTC needs, with > fairly minimal additions/guidance: > > > https://www.ietf.org/archive/id/draft-ietf-plants-merkle-tree-certs-02.html#name-acme-extensions > > Some context: > > These slides > <https://datatracker.ietf.org/meeting/124/materials/slides-124-plants-solution-space-and-dispatched-work-00> > from the BoF are a good starting point for how MTC works. The ACME > interaction is that, for each certificate request, an MTC CA returns two > certificates: a “standalone certificate” (large, immediate, generally > usable) and a “landmark certificate” (small, delayed, not generally usable, > optional). The CA... > > 1. Validates the certificate request. > 2. Appends the information to a log, signs it, etc. This step constitutes > issuance. > 3. Constructs a standalone certificate that serves as proof of this > issuance. > 4. Waits some time (hours) for a “landmark” to be allocated. > 5. Constructs a landmark certificate that serves as an alternate proof of > this same issuance. > > MTC wants a way to configure ACME to deliver both certificates (one > immediately and one that the ACME client can optionally retrieve later, > after some delay), along with any metadata needed for the TLS server (etc) > to select between the two. > > The current proposal is to use ACME's existing alternate URLs feature, > modeling the delay with the HTTP Retry-After header from RFC 9110. (Another > option is to make multiple orders. That would let us model the delay with > the "processing" status, but since it’s one validation and issuance event, > one order + alternate URLs seemed a better fit.) > > Thoughts? Is this a good approach to using ACME? > > David > > PS: This is not directly part of the Profile Sets proposal. I’m quite > behind on my inbox and need to follow-up on that! :-) For MTC, the two > certs correspond to one issuance event and are renewed together, so I think > we want only one order. Though the problem space is definitely related and > perhaps my initial guess at one or both was wrong! > _______________________________________________ > Acme mailing list -- acme@ietf.org > To unsubscribe send an email to acme-leave@ietf.org >
- [Acme] ACME and PLANTS David Benjamin
- [Acme] Re: ACME and PLANTS Ilari Liusvaara
- [Acme] Re: ACME and PLANTS David Benjamin
- [Acme] Re: ACME and PLANTS Mike Ounsworth
- [Acme] Re: ACME and PLANTS Michael Richardson
- [Acme] Re: ACME and PLANTS Michael Richardson
- [Acme] Re: ACME and PLANTS David Benjamin
- [Acme] Re: ACME and PLANTS Ilari Liusvaara
- [Acme] Re: ACME and PLANTS Ilari Liusvaara
- [Acme] Re: ACME and PLANTS Michael Richardson
- [Acme] Re: ACME and PLANTS Aaron Gable
- [Acme] Re: ACME and PLANTS Ilari Liusvaara
- [Acme] Re: ACME and PLANTS Ilari Liusvaara
- [Acme] Re: ACME and PLANTS Aaron Gable
- [Acme] Re: ACME and PLANTS Ilari Liusvaara
- [Acme] Re: ACME and PLANTS Jacob Hoffman-Andrews
- [Acme] Re: ACME and PLANTS Seo Suchan
- [Acme] Re: ACME and PLANTS Aaron Gable
- [Acme] Re: ACME and PLANTS Michael Richardson
- [Acme] Re: ACME and PLANTS Ilari Liusvaara