[Acme] Survey of draft-07 implementations

Daniel McCarney <cpu@letsencrypt.org> Fri, 20 October 2017 20:36 UTC

Return-Path: <dmccarney@letsencrypt.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 EE7F0132F2E for <acme@ietfa.amsl.com>; Fri, 20 Oct 2017 13:36:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.699
X-Spam-Level:
X-Spam-Status: No, score=-2.699 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=letsencrypt.org
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 IaLLes7wvwfW for <acme@ietfa.amsl.com>; Fri, 20 Oct 2017 13:36:12 -0700 (PDT)
Received: from mail-io0-x22b.google.com (mail-io0-x22b.google.com [IPv6:2607:f8b0:4001:c06::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 791B0126BF3 for <acme@ietf.org>; Fri, 20 Oct 2017 13:36:12 -0700 (PDT)
Received: by mail-io0-x22b.google.com with SMTP id e89so14489267ioi.11 for <acme@ietf.org>; Fri, 20 Oct 2017 13:36:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=letsencrypt.org; s=google; h=mime-version:reply-to:from:date:message-id:subject:to; bh=fTObuuNsNZ9arzVg5DtIRpm/5alhqa2L1tzEussByH8=; b=T+ZrejsxKZKAxDAhiLKZg+9SvNV9RL1MQ1SJfzAffPgbGZsVPrUVr0Hw5PzgI+tYzM 31aOGyErDIm8F0u0xF/wolkP/OGCbOVC0SwXOgjOkQtfF6jqQSCOBfq0PhTXLFN5lnTe lWQLUIdQ3QpkPihspRR9m3sfje3HfspbHOBxs=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:reply-to:from:date:message-id :subject:to; bh=fTObuuNsNZ9arzVg5DtIRpm/5alhqa2L1tzEussByH8=; b=mWEvVsOb6Fm2SATXJdaIwiNpbosIM5JxZCcaTH3Bum8AdR/cXQ6+m9mAzte/FiW1SH SaSpMU1yaAbSRubhLJM7tVDQleb6pIeGKyGMoIOixJo/XvA4c9Vokwwd/+xU+oNIz7Jr TR+68IaEI5vmn1f+gyf9WLw9c4adf58ustAlL/akXsjuPnFyw3pgU5pzhGVy7Wd5eDwB O86FeEUKK5+hK40dx3x7P/9jNb8rZld9klaI0vw78nQGlfszTYP4hkEidetfeghhDqRv 4zshVPFzKz7z2iBeloJ6LYVDN6WFLR81jEQ+QAVTJY+zjus+IdQGRI6AyP6M1QS9S6fS fgog==
X-Gm-Message-State: AMCzsaXvXf3kVLSW4LLsP7u9Gkj4mR7vPwWhk3Ti1cYKZ36txdU8LNYF CgTHuu83PW1rT4OinvntssuEknwCm0E4J5tEg34URg82u+A=
X-Google-Smtp-Source: ABhQp+SD/PE6R8KNYc1Ti96Mh1fm1w6oAeLwStt5CoPe67X9WAVHmYloQ5RPUkIEtazoIkWDwPIPVu/XN9WkJHJEuaE=
X-Received: by 10.107.37.143 with SMTP id l137mr7919156iol.104.1508531771315; Fri, 20 Oct 2017 13:36:11 -0700 (PDT)
MIME-Version: 1.0
Reply-To: cpu@letsencrypt.org
Received: by 10.107.88.21 with HTTP; Fri, 20 Oct 2017 13:36:10 -0700 (PDT)
From: Daniel McCarney <cpu@letsencrypt.org>
Date: Fri, 20 Oct 2017 16:36:10 -0400
Message-ID: <CAKnbcLgmmH3aM=Ko2qCvHQLAdo0jw+dumYj4kRxBOkjwm+UOhg@mail.gmail.com>
To: IETF ACME <acme@ietf.org>
Content-Type: multipart/alternative; boundary="001a11402b185cb4d9055c006c29"
Archived-At: <https://mailarchive.ietf.org/arch/msg/acme/oFPXvSnocJZorYiR8Tj6cYbA_wY>
Subject: [Acme] Survey of draft-07 implementations
X-BeenThere: acme@ietf.org
X-Mailman-Version: 2.1.22
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: Fri, 20 Oct 2017 20:36:15 -0000

Hi folks,

As the WG approaches last-call on ACME draft-07[0] I wanted to get a sense
of which portions of the spec have been implemented and which haven't.

In particular I'd like to hear if anyone has implemented:
* External Account Binding (Section 7.3.5)
* Pre-Authorization for Order based issuance (Section 7.4.1)
* The Out-of-Band Challenge type (Section 8.6)

Let's Encrypt has made good progress on draft-07 server implementation but
has no plans to implement the above three features. It would be nice to
hear someone has running code for these protions of spec.

Ignoring the above three items Let's Encrypt has implemented the core
portions of draft-07 in Pebble[1]. It's presently using the pro-active
issuance method described in draft-07. It does not support key change or
revocation but is ready to be used by clients. There is an integration test
client[2] based on Certbot's ACME python module and ACME4j has an
experimental branch[3] capable of issuing certificates from Pebble.

Let's Encrypt has also made significant progress implementing draft-07 in
Boulder[4], the production Let's Encrypt CA software, but it is not yet
ready for use by clients. This implementation does include key change and
revocation but does **not** use pro-active issuance. I began a separate
thread[5] for the order finalization approach that we have started to
implement for Boulder. Pebble will be updated to use this issuance approach
in place of pro-active issuance shortly.

Are there any other servers or clients out there that are speaking draft-07
ACME and using order based issuance?

- Daniel / cpu

[0]: https://tools.ietf.org/html/draft-ietf-acme-acme-07
[1]: https://github.com/letsencrypt/pebble
[2]:
https://github.com/letsencrypt/boulder/blob/e2cc6fbe682dd5d49da32c2357838b0cc831f10f/test/chisel2.py
[3]: https://github.com/shred/acme4j/tree/draft
[4]: https://github.com/letsencrypt/boulder
[5]: https://mailarchive.ietf.org/arch/msg/acme/DIjJEB06J5cFyuOlGPVcY2I51vg