Extended Key Usage and path validation
Jean-Marc Desperrier <jean-marc.desperrier@certplus.com> Thu, 02 November 2000 19:25 UTC
Received: from ns.secondary.com (ns.secondary.com [208.184.76.39]) by ietf.org (8.9.1a/8.9.1a) with SMTP id OAA26332 for <pkix-archive@odin.ietf.org>; Thu, 2 Nov 2000 14:25:49 -0500 (EST)
Received: from localhost (daemon@localhost) by ns.secondary.com (8.9.3/8.9.3) with SMTP id LAA06084; Thu, 2 Nov 2000 11:17:56 -0800 (PST)
Received: by mail.imc.org (bulk_mailer v1.12); Thu, 2 Nov 2000 11:17:52 -0800
Received: from certplus.com ([195.101.88.81]) by ns.secondary.com (8.9.3/8.9.3) with ESMTP id LAA06046 for <ietf-pkix@imc.org>; Thu, 2 Nov 2000 11:17:50 -0800 (PST)
Received: from certplus.com ([192.168.212.171]) by certplus.com (8.8.7/8.8.7) with ESMTP id UAA24378 for <ietf-pkix@imc.org>; Thu, 2 Nov 2000 20:30:07 +0100
Message-ID: <3A01BF34.B3723D9B@certplus.com>
Date: Thu, 02 Nov 2000 20:23:32 +0100
From: Jean-Marc Desperrier <jean-marc.desperrier@certplus.com>
Organization: Certplus
X-Mailer: Mozilla 4.75 [en] (WinNT; U)
X-Accept-Language: en
MIME-Version: 1.0
To: ietf-pkix <ietf-pkix@imc.org>
Subject: Extended Key Usage and path validation
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Precedence: bulk
List-Archive: http://www.imc.org/ietf-pkix/mail-archive/
List-ID: <ietf-pkix.imc.org>
List-Unsubscribe: mailto:ietf-pkix-request@imc.org?body=unsubscribe
Content-Transfer-Encoding: 7bit
I've been trying recently to understand how path validation should be done for the usage of a key. Until now, the only document that I've found that's really explicit is the following from Netscape/iPlanet : http://docs.iplanet.com/docs/manuals/cms/41/dep_gide/ext.htm Netscape, in this document, says this about extended key usage in path validation. "A given certificate is valid only for the intersection of key usages of all the certificates in the chain to its root (as determined by both the Extended Key Usage extension for each certificate and the corresponding user settings). To be valid for a particular usage, the end-entity certificate and all certificates in the chain must all be valid for that usage" In fact, in the context it's not very clear whether this is what Netscape recommends or the current practice of Microsoft softwares. But their recommendation for certificat format in table B.1 of that document is perfectly coherent with that. This path validation does not apply to keyUsage. A CA with a keyUsage of keyCertSign, cRLSign, can perfectly emit a valid certificate with a keyUsage of digitalSignature. I've been reading through RFC2459, and I was not able able to find anything that really supports this behaviour. Is this actually the intended use of key usage and extended key usage ? For example Netscape recommends the following for a CA that signs S/MIME client certificate : extKeyUsage: Email keyUsage: keyCertSign, cRLSign But then extKeyUsage and keyUsage are not consistent each other. After RFC2459, "extKeyUsage: Email" is consistent with digitalSignature, but not with keyCertSign, cRLSign RFC2459 says the certificate MUST only be used for a purpose consistant with both fields and is invalid if none exist. This only applies when both are flagged critical, but if the correct setting of this values forbids you to set them critical, it sounds quite annoying. There should be an explicit table of what is compatible with what. I'm afraid not every implementer of RFC2459 will make the same decision of which values are compatible if trying to implement that with the current text in RFC2459.txt or draft-ietf-pkix-new-part1-02.txt. Now if extended key usage must not be used in path validation, then we loose the possibility to constraint the usage of a certificate in the CAs above it, except maybe through policy, but this is not something the software can interpret as easily as extended key usage. Should this way of using extKeyUsage be considered bad practice and avoided or not ? Isn't there the need for a PKIX document that would explicitely detail how a complex CA path should be set for various uses ? (if there is one that can effectively be used for that, I've missed it).
- Extended Key Usage and path validation Jean-Marc Desperrier
- Re: Extended Key Usage and path validation Shantanu Bhattacharya
- Re: Extended Key Usage and path validation Jean-Marc Desperrier
- RE: Extended Key Usage and path validation Frank Balluffi
- RE: Extended Key Usage and path validation Stephen Kent
- Re: Extended Key Usage and path validation Jean-Marc Desperrier
- Re: Extended Key Usage and path validation Terry Hayes
- Re: Extended Key Usage and path validation Peter Gutmann
- Re: Extended Key Usage and path validation Patrick.Patterson
- Re: Extended Key Usage and path validation Terry Hayes
- Re: Extended Key Usage and path validation Jean-Marc Desperrier
- Re: Extended Key Usage and path validation Frank Balluffi
- RE: Extended Key Usage and path validation Frank Balluffi
- Re: Extended Key Usage and path validation Michael Ströder
- Re: Extended Key Usage and path validation David P. Kemp
- The CP Extension (was Re: Extended Key Usage and … Marc Branchaud
- RE: Extended Key Usage and path validation Roberto Lopez Navarro
- Re: Extended Key Usage and CP extensions (path va… Jean-Marc Desperrier
- Re: Extended Key Usage and path validation Bob Jueneman
- Re: Extended Key Usage and path validation Stephen Kent
- Re: Extended Key Usage and path validation David P. Kemp