[lamps] draft-ietf-lamps-samples: PKCS12 expertise needed (including objects for comparison)

Daniel Kahn Gillmor <dkg@fifthhorseman.net> Thu, 29 July 2021 23:17 UTC

Return-Path: <dkg@fifthhorseman.net>
X-Original-To: spasm@ietfa.amsl.com
Delivered-To: spasm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3F8053A0EA5 for <spasm@ietfa.amsl.com>; Thu, 29 Jul 2021 16:17:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.306
X-Spam-Level:
X-Spam-Status: No, score=-1.306 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, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=neutral reason="invalid (unsupported algorithm ed25519-sha256)" header.d=fifthhorseman.net header.b=SPoVP76j; dkim=pass (2048-bit key) header.d=fifthhorseman.net header.b=dbg+du7f
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 ln2RKso5fqWX for <spasm@ietfa.amsl.com>; Thu, 29 Jul 2021 16:17:12 -0700 (PDT)
Received: from che.mayfirst.org (unknown [162.247.75.117]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DA8383A0EA2 for <spasm@ietf.org>; Thu, 29 Jul 2021 16:17:11 -0700 (PDT)
DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019; t=1627600630; h=from : to : subject : date : message-id : mime-version : content-type : from; bh=q5c2iFyGORVKUv+BcWr6RleN6qlZcHnchofSIW3VZrs=; b=SPoVP76jZUzkVJPZFQeozm6t9VeVSfDnv7NcZ3QPVt4M1r3ba0SDqnbgdB52Q+tsiXlw8 IveXKVsD2hI/JA3BA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=fifthhorseman.net; i=@fifthhorseman.net; q=dns/txt; s=2019rsa; t=1627600630; h=from : to : subject : date : message-id : mime-version : content-type : from; bh=q5c2iFyGORVKUv+BcWr6RleN6qlZcHnchofSIW3VZrs=; b=dbg+du7f7buYGb7kkbUpKlkEU84pgJe7KlCxwF4unAgfsRYM4qrbq4bOfotqlJH0vR7gC InxyTp2Fc8l/S71pEfNse2g0HtXaENyHZxeQUR78lmi3yRPel/plAY8X79lXp6QFR79+HHJ tFZesVWyHr1fviyEjLsXhC126IYHuxcjqg3lQ3qBBw9tBPB4hq6GJoYNrEs+MFeRkBOREz3 DRRJs5nEcz/zoe3WLbGBjrZu+l+Ic3bcqL3k3DDiOSoSRn55WmOp8r5PEkejvztvSW1YK34 BhsoXuru1R8e+AQlbcuPA7jGNIOBmt7PwN9Ul9pSSrHLZgzRSKKSku7fkwHQ==
Received: from fifthhorseman.net (lair.fifthhorseman.net [108.58.6.98]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by che.mayfirst.org (Postfix) with ESMTPSA id E9DCEF9A5 for <spasm@ietf.org>; Thu, 29 Jul 2021 19:17:09 -0400 (EDT)
Received: by fifthhorseman.net (Postfix, from userid 1000) id 6528E204E3; Thu, 29 Jul 2021 19:17:07 -0400 (EDT)
From: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
To: LAMPS WG <spasm@ietf.org>
Autocrypt: addr=dkg@fifthhorseman.net; prefer-encrypt=mutual; keydata= mDMEX+i03xYJKwYBBAHaRw8BAQdACA4xvL/xI5dHedcnkfViyq84doe8zFRid9jW7CC9XBiI0QQf FgoAgwWCX+i03wWJBZ+mAAMLCQcJEOCS6zpcoQ26RxQAAAAAAB4AIHNhbHRAbm90YXRpb25zLnNl cXVvaWEtcGdwLm9yZ/tr8E9NA10HvcAVlSxnox6z62KXCInWjZaiBIlgX6O5AxUKCAKbAQIeARYh BMKfigwB81402BaqXOCS6zpcoQ26AADZHQD/Zx9nc3N2kj13AUsKMr/7zekBtgfSIGB3hRCU74Su G44A/34Yp6IAkndewLxb1WdRSokycnaCVyrk0nb4imeAYyoPtBc8ZGtnQGZpZnRoaG9yc2VtYW4u bmV0PojRBBMWCgCDBYJf6LTfBYkFn6YAAwsJBwkQ4JLrOlyhDbpHFAAAAAAAHgAgc2FsdEBub3Rh dGlvbnMuc2VxdW9pYS1wZ3Aub3JnL0Gwxvypz2tu1IPG+yu1zPjkiZwpscsitwrVvzN3bbADFQoI ApsBAh4BFiEEwp+KDAHzXjTYFqpc4JLrOlyhDboAAPkXAP0Z29z7jW+YzLzPTQML4EQLMbkHOfU4 +s+ki81Czt0WqgD/SJ8RyrqDCtEP8+E4ZSR01ysKqh+MUAsTaJlzZjehiQ24MwRf6LTfFgkrBgEE AdpHDwEBB0DkKHOW2kmqfAK461+acQ49gc2Z6VoXMChRqobGP0ubb4kBiAQYFgoBOgWCX+i03wWJ BZ+mAAkQ4JLrOlyhDbpHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3Jnfvo+ nHoxDwaLaJD8XZuXiaqBNZtIGXIypF1udBBRoc0CmwICHgG+oAQZFgoAbwWCX+i03wkQPp1xc3He VlxHFAAAAAAAHgAgc2FsdEBub3RhdGlvbnMuc2VxdW9pYS1wZ3Aub3JnaheiqE7Pfi3Atb3GGTw+ jFcBGOaobgzEJrhEuFpXREEWIQQttUkcnfDcj0MoY88+nXFzcd5WXAAAvrsBAIJ5sBg8Udocv25N stN/zWOiYpnjjvOjVMLH4fV3pWE1AP9T6hzHz7hRnAA8d01vqoxOlQ3O6cb/kFYAjqx3oMXSBhYh BMKfigwB81402BaqXOCS6zpcoQ26AADX7gD/b83VObe14xrNP8xcltRrBZF5OE1rQSPkMNy+eWpk eCwA/1hxiS8ZxL5/elNjXiWuHXEvUGnRoVj745Vl48sZPVYMuDgEX+i03xIKKwYBBAGXVQEFAQEH QIGex1WZbH6xhUBve5mblScGYU+Y8QJOomXH+rr5tMsMAwEICYjJBBgWCgB7BYJf6LTfBYkFn6YA CRDgkus6XKENukcUAAAAAAAeACBzYWx0QG5vdGF0aW9ucy5zZXF1b2lhLXBncC5vcmcEAx9vTD3b J0SXkhvcRcCr6uIDJwic3KFKxkH1m4QW0QKbDAIeARYhBMKfigwB81402BaqXOCS6zpcoQ26AAAX mwD8CWmukxwskU82RZLMk5fm1wCgMB5z8dA50KLw3rgsCykBAKg1w/Y7XpBS3SlXEegIg1K1e6dR fRxL7Z37WZXoH8AH
Date: Thu, 29 Jul 2021 19:17:06 -0400
Message-ID: <87czr0ww0d.fsf@fifthhorseman.net>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="==-=-="; micalg="pgp-sha256"; protocol="application/pgp-signature"
Archived-At: <https://mailarchive.ietf.org/arch/msg/spasm/Cl5LGMsvKDBTdkHA2VoL5FADzd0>
Subject: [lamps] draft-ietf-lamps-samples: PKCS12 expertise needed (including objects for comparison)
X-BeenThere: spasm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "This is a venue for discussion of doing Some Pkix And SMime \(spasm\) work." <spasm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spasm>, <mailto:spasm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spasm/>
List-Post: <mailto:spasm@ietf.org>
List-Help: <mailto:spasm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spasm>, <mailto:spasm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 29 Jul 2021 23:17:16 -0000

Hi folks--

We discussed draft-ietf-lamps-samples at the IETF 111 second LAMPS
session.

One concern is that the PKCS#12 objects in the current draft were
unimportable by MacOS's "Keychain Access" application.

Here's a screenshot of that failure, trying to ingest the DER-encoded
form of `bob.p12` from draft -06:

As the draft says, this PKCS#12 object is encrypted with a simple
3-letter password "bob".

However, Thunderbird's certificate manager *does* ingest the object
correctly, and can then export the associated objects as another PKCS#12
object, also encrypted with the password "bob".

This Thunderbird-laundered PKCS#12 object *is* ingestable by Keychain
Access for some reason.

I'm attaching here the original object as `bob.p12` and the
thunderbird-laundered version as `bob.laundered.p12`.  Both objects are
encoded in DER form.

Both objects *should* contain:

 - Bob's decryption secret key
 - Bob's corresponding encryption certificate
 - Bob's signing secret key
 - Bob's corresponding verification certificate
 - The intermediate CA certificate that permits verification from the
   ed25519 root CA

The secret keys in both PKCS#12 objects should be locked with the
password "bob".

Are we seeing a bug in Keychain Access?  Or is "bob.p12" somehow
malformed?  If "bob.p12" is malformed, is there a bug in Thunderbird
that it accepts it?

If anyone has any tooling that can make a clear and concise picture of
the differences between the objects (or can condense the screenfuls of
text that most detailed debuggers produce to highlight the specific
changes), that would be super useful.

          --dkg