[OAUTH-WG] JWT BCP: x5c

Vladimir Dzhuvinov <vladimir@connect2id.com> Wed, 09 August 2017 06:19 UTC

Return-Path: <vladimir@connect2id.com>
X-Original-To: oauth@ietfa.amsl.com
Delivered-To: oauth@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3F23A1243F6 for <oauth@ietfa.amsl.com>; Tue, 8 Aug 2017 23:19:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.92
X-Spam-Level:
X-Spam-Status: No, score=-1.92 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=ham autolearn_force=no
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 nMQ-KMKsc6PB for <oauth@ietfa.amsl.com>; Tue, 8 Aug 2017 23:19:34 -0700 (PDT)
Received: from p3plsmtpa09-04.prod.phx3.secureserver.net (p3plsmtpa09-04.prod.phx3.secureserver.net [173.201.193.233]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A2732126C23 for <oauth@ietf.org>; Tue, 8 Aug 2017 23:19:34 -0700 (PDT)
Received: from [192.168.0.103] ([78.130.190.73]) by :SMTPAUTH: with SMTP id fKKcdZkGUJ3l2fKKddGQWv; Tue, 08 Aug 2017 23:19:03 -0700
To: oauth <oauth@ietf.org>
From: Vladimir Dzhuvinov <vladimir@connect2id.com>
Organization: Connect2id Ltd.
Message-ID: <64004971-b5c7-01f7-4e7f-2abca6f7712d@connect2id.com>
Date: Wed, 09 Aug 2017 09:19:02 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="------------ms040302030904010309000704"
X-CMAE-Envelope: MS4wfG+YK13T7aLVqsys3dWPbxFsoDMPw0wkmPzSbqXDlA4K1cXrIwtZRlcGAi3KGMTHijCwiMOa9hjZ4xde4lKCwN96PpJjVnEi+w931iksAXGuA73na/50 AwtAGqHZVKQUMehA70jA8DcsDI1gx8pIilD3q7M+GKdkB23MLAuK4Vab
Archived-At: <https://mailarchive.ietf.org/arch/msg/oauth/uORgfdUo9y1_3mWqJLTMgi2uZIE>
Subject: [OAUTH-WG] JWT BCP: x5c
X-BeenThere: oauth@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: OAUTH WG <oauth.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/oauth>, <mailto:oauth-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/oauth/>
List-Post: <mailto:oauth@ietf.org>
List-Help: <mailto:oauth-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/oauth>, <mailto:oauth-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 09 Aug 2017 06:19:36 -0000

This is a classic case for the BCP:

https://bitbucket.org/connect2id/nimbus-jose-jwt/issues/230/x5c-path-validation

Developer expects that checking the signature of a JWT with a given JWK
will also validate the x5c of the JWK. How the developer obtained the
JWK in the first place is not clear from the ticket.

I wonder how such mistakes can be prevented at lib API level. If you
know a good approach or example, please let me know.

Vladimir