Re: [TLS] Update spec to match current practices for certificate chain order

Peter Gutmann <pgut001@cs.auckland.ac.nz> Thu, 07 May 2015 05:50 UTC

Return-Path: <pgut001@cs.auckland.ac.nz>
X-Original-To: tls@ietfa.amsl.com
Delivered-To: tls@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8FED31ACED3 for <tls@ietfa.amsl.com>; Wed, 6 May 2015 22:50:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.91
X-Spam-Level:
X-Spam-Status: No, score=-1.91 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
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 Maby55XR_HYi for <tls@ietfa.amsl.com>; Wed, 6 May 2015 22:50:22 -0700 (PDT)
Received: from mx4.auckland.ac.nz (mx4.auckland.ac.nz [130.216.125.248]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EEBAA1ACEBA for <tls@ietf.org>; Wed, 6 May 2015 22:50:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=auckland.ac.nz; i=@auckland.ac.nz; q=dns/txt; s=uoa; t=1430977822; x=1462513822; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=O2ac2s3b/Sof9FV19JnouYoCGn1AVErnJvbFdy44FZg=; b=aa5JzTver1sfieOAuw20Y0W4gN3RZSqo8KDt4LpVt8+8Z6+YJkAm5EVn Mhx6iWfxB/D9+Gye+t47kGNB67uCDB7RrdNwLhcEAMB9dx8N8FwaY+LOq dm0Q5VhhqGIlrOHPnkqrIy6T+wSNHmh/NXQGmfTn39qoa5Rghuj/p6G1o E=;
X-IronPort-AV: E=Sophos;i="5.13,383,1427713200"; d="scan'208";a="3488872"
X-Ironport-HAT: MAIL-SERVERS - $RELAYED
X-Ironport-Source: 130.216.4.171 - Outgoing - Outgoing
Received: from uxchange10-fe4.uoa.auckland.ac.nz ([130.216.4.171]) by mx4-int.auckland.ac.nz with ESMTP/TLS/AES128-SHA; 07 May 2015 17:50:19 +1200
Received: from UXCN10-TDC05.UoA.auckland.ac.nz ([169.254.9.151]) by uxchange10-fe4.UoA.auckland.ac.nz ([169.254.109.63]) with mapi id 14.03.0174.001; Thu, 7 May 2015 17:50:19 +1200
From: Peter Gutmann <pgut001@cs.auckland.ac.nz>
To: Dave Garrett <davemgarrett@gmail.com>, "tls@ietf.org" <tls@ietf.org>
Thread-Topic: [TLS] Update spec to match current practices for certificate chain order
Thread-Index: AQHQiHPHQz9aLKupu0CRDqxaUS0n3p1wAj1n
Date: Thu, 07 May 2015 05:50:18 +0000
Message-ID: <9A043F3CF02CD34C8E74AC1594475C73AB015B9E@uxcn10-tdc05.UoA.auckland.ac.nz>
References: <201505062313.06092.davemgarrett@gmail.com>
In-Reply-To: <201505062313.06092.davemgarrett@gmail.com>
Accept-Language: en-NZ, en-GB, en-US
Content-Language: en-NZ
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [130.216.158.4]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Archived-At: <http://mailarchive.ietf.org/arch/msg/tls/acMzU8KgSmQCU26aCLAPXEvYM0A>
Subject: Re: [TLS] Update spec to match current practices for certificate chain order
X-BeenThere: tls@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: "This is the mailing list for the Transport Layer Security working group of the IETF." <tls.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tls>, <mailto:tls-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tls/>
List-Post: <mailto:tls@ietf.org>
List-Help: <mailto:tls-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tls>, <mailto:tls-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 07 May 2015 05:50:26 -0000

Dave Garrett <davemgarrett@gmail.com> writes:

>I'd like to propose simply changing that second "MUST" to a "SHOULD" or
>possibly even a "RECOMMENDED", thus allowing for clients to accept cert
>chains in different orderings as they already seem to do. (no change proposed
>for the first "MUST")

I suspect the first MUST can go as well, particularly if you're using code
that handles cert chains in other formats like CMS/PKCS #7, where the "chain"
can contain any old rubbish and the chain-assembly code has to build the path.
For example my code looks for a cert containing the site name 
("www.whatever.com") and then builds a chain up via the parent links until it
can't find any more useful certs.  That just works no matter what the other
side sends.

Peter.