[lamps] Re: TLS Client Certificates; a survey

Nico Williams <nico@cryptonector.com> Mon, 23 March 2026 21:51 UTC

Return-Path: <nico@cryptonector.com>
X-Original-To: spasm@mail2.ietf.org
Delivered-To: spasm@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 0A38FD0455FA; Mon, 23 Mar 2026 14:51:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.096
X-Spam-Level:
X-Spam-Status: No, score=-2.096 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, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=cryptonector.com
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 Kx2_XLon15ZX; Mon, 23 Mar 2026 14:51:12 -0700 (PDT)
Received: from dog.elm.relay.mailchannels.net (dog.elm.relay.mailchannels.net [23.83.212.48]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 74F7BD0455EE; Mon, 23 Mar 2026 14:51:12 -0700 (PDT)
X-Sender-Id: dreamhost|x-authsender|nico@cryptonector.com
Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id D2226802433; Mon, 23 Mar 2026 21:51:04 +0000 (UTC)
Received: from pdx1-sub0-mail-a255.dreamhost.com (100-119-11-147.trex-nlb.outbound.svc.cluster.local [100.119.11.147]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 7454E8023E5; Mon, 23 Mar 2026 21:51:04 +0000 (UTC)
ARC-Seal: i=1; a=rsa-sha256; d=mailchannels.net; s=arc-2022; cv=none; t=1774302664; b=ofVZ35NdpsMA88gXGg3kgDoKYAXGyH0yuINnhXg+UdUqwfgq0X32Lwvi9n/FCk+ZoNe5P/ SJKXlCrjcFWlVd57XMOf0pNLti2408o6s073pkg4Pyk34UD1th0Yr2BiJ39lpO2GmcsVQA 0fuUw5beOjIkm/CbV3sDPVLT6OkTe19BzUlZ6p3wJd+Eg/aDuiUTypw7el/Rm1rIVbbApD DaqVa6G3m6392gfvz+jjEaf9wlr3X/G3kOHjUs1Bd4Jo9OcLEArg1YR2KFeIV0lq3gDQim 5T58uyeC+yE0r0cxufjx3aAt/2GqRQCudz66cgjXpxA2FFYHI+K4AuVyb+TrEQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=mailchannels.net; s=arc-2022; t=1774302664; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=0IlnfDh9XPWvNgps3jFw2wZ26Ds8z8yw53ydMl9nfJU=; b=1J/Izw3NlM1zV1wy40L87YTgpmvP2UEZat05DAB4TDYQyVmfKE6maUxPou3ZE1V4zc93rn 0sh+AjJZ88DegXLyri6VEHqYF3IJ7khXkZE4rNS+wAEA1r2DEHlzcopWKrEMTVYlfJGoXK i6wRQTSHT9V6KccyQ5FlxB1CfEUxZwXpGJcXFjdC9QID12rL/z7o2Yb6gIrdTDT6k8Zdu7 DiI+knhtPXxvAdmH/Ptj+hpxuNoxM4WC/XxCjcF9YM/ArLJfRwQh6Y8WdCf5bEqw9BMHkS b+AxXKlxFM1ODD4Y6ExIqOuwGia1z0nU5FnnbAKE+vDluP3bb4V8W7f2QHUFuQ==
ARC-Authentication-Results: i=1; rspamd-6d4cb6745-kxld7; auth=pass smtp.auth=dreamhost smtp.mailfrom=nico@cryptonector.com
X-Sender-Id: dreamhost|x-authsender|nico@cryptonector.com
X-MC-Relay: Neutral
X-MailChannels-SenderId: dreamhost|x-authsender|nico@cryptonector.com
X-MailChannels-Auth-Id: dreamhost
X-Shade-Befitting: 062025f906b1424a_1774302664718_458280708
X-MC-Loop-Signature: 1774302664718:971891701
X-MC-Ingress-Time: 1774302664718
Received: from pdx1-sub0-mail-a255.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384) by 100.119.11.147 (trex/7.1.5); Mon, 23 Mar 2026 21:51:04 +0000
Received: from ubby (unknown [75.81.95.64]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: nico@cryptonector.com) by pdx1-sub0-mail-a255.dreamhost.com (Postfix) with ESMTPSA id 4ffn134428z1070; Mon, 23 Mar 2026 14:51:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cryptonector.com; s=dreamhost; t=1774302664; bh=0IlnfDh9XPWvNgps3jFw2wZ26Ds8z8yw53ydMl9nfJU=; h=Date:From:To:Cc:Subject:Content-Type:Content-Transfer-Encoding; b=n5Nbru1cIiUUz1YzQFegTXokaXaut1DYsIqV9t0PZqUzw2/H/3jtiJJQ9du8STO05 mhPa5irmvV6c9bNcrk5sJxNf/1fK8NjTjUuGgaZqhaRhHUea3OaBoj/VUyK7hd6fBs zpUUNKWNqwq3b4eoG9/8Qx10s5fh1MZyaxILn8hPAZz+IvPFbuZUThmMZgIeejBTF/ l75RnYdEMB9XbqP8nF5WkHwddK+I+UdTGVIlbzSbTywg0zasuECGacb+g45rZ5lagj LIawM1UO1DdCCkjgGjKospJXgF7WzspKr+9D0ZZvGT602z8orGrhoxiMdNR5OxlrsS +uYneiFhUpHFA==
Date: Mon, 23 Mar 2026 16:51:01 -0500
From: Nico Williams <nico@cryptonector.com>
To: Alan DeKok <alan.dekok=40inkbridge.io@dmarc.ietf.org>
Message-ID: <acG1xdzcxLpvwEVH@ubby>
References: <MN2PR17MB40314193002D42E6ED4F465ACD4CA@MN2PR17MB4031.namprd17.prod.outlook.com> <4732.1774288835@obiwan.sandelman.ca> <acGB3/g8HMNNOP4J@ubby> <DU0PR03MB86960694D96A2E52CCED6440864BA@DU0PR03MB8696.eurprd03.prod.outlook.com> <6952177E-8DC0-486E-980E-67CD5A0E1569@inkbridge.io> <CAH8yC8kCHDqaU5q6Ct8ZPCO+5cYJC+a+zEf8JD2Q7XZuYng7pQ@mail.gmail.com> <19C42BA1-8863-4E94-AB84-2AA7B8E96C59@inkbridge.io>
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <19C42BA1-8863-4E94-AB84-2AA7B8E96C59@inkbridge.io>
Message-ID-Hash: M36GXJN3P4AHM6TNG2BN5K6ESVKLA772
X-Message-ID-Hash: M36GXJN3P4AHM6TNG2BN5K6ESVKLA772
X-MailFrom: nico@cryptonector.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-spasm.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: noloader@gmail.com, Tomas Gustavsson <Tomas.Gustavsson@keyfactor.com>, Michael Richardson <mcr+ietf@sandelman.ca>, "Salz, Rich" <rsalz@akamai.com>, Tls <tls@ietf.org>, "spasm@ietf.org" <spasm@ietf.org>
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [lamps] Re: TLS Client Certificates; a survey
List-Id: This is the mail list for the LAMPS Working Group <spasm.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/G5gJkCCZBSd8xu93PhFv-Rb65N0>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Owner: <mailto:spasm-owner@ietf.org>
List-Post: <mailto:spasm@ietf.org>
List-Subscribe: <mailto:spasm-join@ietf.org>
List-Unsubscribe: <mailto:spasm-leave@ietf.org>

On Tue, Mar 24, 2026 at 09:25:42AM +1300, Alan DeKok wrote:
> On Mar 24, 2026, at 8:18 AM, Jeffrey Walton <noloader@gmail.com> wrote:
> > And who needs a CA anyways?  All we need is a hostname and a public
> > key.  We don't need a CA to bind them.  The hostname and public key
> > information is presented in an end-entity certificate, so that's all
> > we need.  The self-signed certificate can be hosted in DNS and
> > retrieved as required since that seems to be the modern equivalent
> > to the X.500 directory.  The world does not need to be adverse to
> > self-signed certificates just because the CA/BF does not care for
> > them.

That's DANE (when the entity to be authenticated is the server) / DANCE
(when it's the client).

>   I find it a bit surprising that certificates can carry a substantial
>   amount of information about purposes, authorization, hierarchies,
>   etc.  But that pretty much the only way to make them usable is to
>   just ignore all of that.

Eh, that's unrelated to the above.  The reason for what you say is that
we're only a few months into the part of the LLM revolution where the
LLMs become useful enough that lack of ASN.1 tooling is no longer an
issue.  Certificates are elegant and can carry tons of useful
information, but for the past 30+ years it's not been feasible to rely
on being able to extract that information.  That's going to change soon.

E.g., I've been working occasionally now on making massive enhancements
to Heimdal's ASN.1 compiler and adding support for Java, but then after
than adding support for all the languages will be pretty mechanical.  I
might even look at having it generate the C types and templates that
OpenSSL uses.  This compiler can decode through all the certificate
extensions and what not in one shot.

Nico
--