[openpgp] Representing an OpenPGP key set in a JWK

Phillip Hallam-Baker <phill@hallambaker.com> Fri, 11 April 2025 20:00 UTC

Return-Path: <hallam@gmail.com>
X-Original-To: openpgp@mail2.ietf.org
Delivered-To: openpgp@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 2F9281AE4A77; Fri, 11 Apr 2025 13:00:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: 0.007
X-Spam-Level:
X-Spam-Status: No, score=0.007 tagged_above=-999 required=5 tests=[BAYES_20=-0.001, FREEMAIL_FORGED_FROMDOMAIN=0.001, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_MSPIKE_H2=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
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 qZgMmZ0nmOCF; Fri, 11 Apr 2025 13:00:23 -0700 (PDT)
Received: from mail-qv1-f50.google.com (mail-qv1-f50.google.com [209.85.219.50]) (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 497251AE4A5B; Fri, 11 Apr 2025 13:00:23 -0700 (PDT)
Received: by mail-qv1-f50.google.com with SMTP id 6a1803df08f44-6e8f4c50a8fso21141716d6.1; Fri, 11 Apr 2025 13:00:23 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744401622; x=1745006422; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=Nh+WO6as/WVJ1bg1EXWW2CDMEn+xdb3z2Ws4q+xVF7A=; b=Hw/d7nNEmS2HguxisrWyaGdw9bpXg6vv2IH3HvhTeDKXR9dosZBjLKFs+g26I2Bm4m XZku/kXCOSko4+2EwyU5xDYep2oXOJDORNL0hNvR7DiT7IFMsb0zTJCojGCYszyfQAih JnEHlPcouzh12l+dnPPE2OmCxDeA59KqWbaM0iIrMBw1lAuWE8JfNrkBm5qoima2ToDj tmTChMcUN5+SFapPRGL+T/n8x/GF2uoy72gn0j4hYDoxenMmevir8b7EuOpJqVoP1mUP bxOSmwJm09cewjC1W3hTTHWKmiAr1ZNV83hSRtT6ANca4EYc0Xyzv8lNLmwp6U7v1Bo9 gdWw==
X-Forwarded-Encrypted: i=1; AJvYcCUHzjnNfHuZdCCVi8/nqaKIbynF/L3Ii72odQVwhAY4N/27bSAfT/d/2V13av4R05OrEzTUl1le@ietf.org
X-Gm-Message-State: AOJu0YzJtRhmu2xhrqkLFJpBl4ZvgFUVLd9W/+XoZ76aWd+sjTdh55N3 4QkGA5CfKB7rfo43PToAQGslTSvU9FJC+0bfgY0z17hVUGECTeLILe0m8aEUhjBrEtUai3JjRmk 7PO7oPGAhF9J4UWy/VghzAA/5axwSGg==
X-Gm-Gg: ASbGncvbyXv2PNSizCoCDKp/ws39Xph4pmjFXkP2fqGPnNBLwmd1XK2229rZwxM45sU lOTTbbtMkMCbVFmxEAEqUDf3XBYbSd12M0fiOxfBOM0e9N90Qph4zJneaJntFAlKa/X4sXDuIs5 M+LFHkJI9KvUjumT04aOtxfwQ=
X-Google-Smtp-Source: AGHT+IFFngGQKikENBwHFMPOJHQzMsTcljGSfafRS8/fCPdpvTxL+QXDWyOSsgdRbzt1DNba/kOXoO9+p7Ex+V0vVuw=
X-Received: by 2002:ad4:5748:0:b0:6e8:ad15:e0b9 with SMTP id 6a1803df08f44-6f230d3e973mr62123676d6.20.1744401622318; Fri, 11 Apr 2025 13:00:22 -0700 (PDT)
MIME-Version: 1.0
From: Phillip Hallam-Baker <phill@hallambaker.com>
Date: Fri, 11 Apr 2025 16:00:03 -0400
X-Gm-Features: ATxdqUFg65gqxhZeMchcCzO6pcIBYmGJu2RgXxuYWmgxpc09pdV8hwG92p_5hEE
Message-ID: <CAMm+Lwi8pmue69ULwRJM3tkV18ZpHE8M+fb1vyCsxj_j91RpbQ@mail.gmail.com>
To: jose@ietf.org, IETF OpenPGP <openpgp@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000000b42b70632862762"
Message-ID-Hash: AFWPFB72UMPW2ZU3S6G7LGOKWFEJ323Y
X-Message-ID-Hash: AFWPFB72UMPW2ZU3S6G7LGOKWFEJ323Y
X-MailFrom: hallam@gmail.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-openpgp.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: [openpgp] Representing an OpenPGP key set in a JWK
List-Id: "Ongoing discussion of OpenPGP issues." <openpgp.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/openpgp/y0Tb4Fipcyqec2hDrSQoyp2UDBc>
List-Archive: <https://mailarchive.ietf.org/arch/browse/openpgp>
List-Help: <mailto:openpgp-request@ietf.org?subject=help>
List-Owner: <mailto:openpgp-owner@ietf.org>
List-Post: <mailto:openpgp@ietf.org>
List-Subscribe: <mailto:openpgp-join@ietf.org>
List-Unsubscribe: <mailto:openpgp-leave@ietf.org>

After discussions with people in JMAP/CALEX people I am looking to add JWKs
to JSContact.

Previously JSContact followed vCard in representing keys as URIs,
frequently data URIs. This is really a bit of a pain if you are wanting to
use a JSContact to launch an application with the key material relevant to
it.

In particular, it is a real pain for OpenPGP because we don't just use
OpenPGP for encrypting emails. It is also used for signing git commits and
many other things. And in those contexts, it is not enough to have a raw
key, you (may) need the key/subkey chain.

I am not an OpenPGP expert or a Git expert so looking for ideas on this.

I think we can all agree that it would be rather nice if Alice can join an
Open Source development effort by providing them with a single identifier
that is descriptive of all the credentials related to their coding work,
commit signing, SSH, code signing etc. etc.