Re: [pkix] A non-compliant use of the EKU extension in Mozilla's CA Certificate Policy Version 2.1.

Michael StJohns <mstjohns@comcast.net> Wed, 20 February 2013 18:09 UTC

Return-Path: <mstjohns@comcast.net>
X-Original-To: pkix@ietfa.amsl.com
Delivered-To: pkix@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1064021F871E for <pkix@ietfa.amsl.com>; Wed, 20 Feb 2013 10:09:32 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.294
X-Spam-Level:
X-Spam-Status: No, score=-100.294 tagged_above=-999 required=5 tests=[AWL=0.143, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, RDNS_NONE=0.1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id F7rRvd+S27BA for <pkix@ietfa.amsl.com>; Wed, 20 Feb 2013 10:09:31 -0800 (PST)
Received: from qmta03.westchester.pa.mail.comcast.net (qmta03.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:43:76:96:62:32]) by ietfa.amsl.com (Postfix) with ESMTP id 6F43021F8718 for <pkix@ietf.org>; Wed, 20 Feb 2013 10:09:31 -0800 (PST)
Received: from omta15.westchester.pa.mail.comcast.net ([76.96.62.87]) by qmta03.westchester.pa.mail.comcast.net with comcast id 2dKz1l00L1swQuc53i9Xzt; Wed, 20 Feb 2013 18:09:31 +0000
Received: from Mike-T530.comcast.net ([68.83.212.126]) by omta15.westchester.pa.mail.comcast.net with comcast id 2i9V1l00q2kB7pQ3bi9WoD; Wed, 20 Feb 2013 18:09:31 +0000
X-Mailer: QUALCOMM Windows Eudora Version 7.1.0.9
Date: Wed, 20 Feb 2013 13:09:32 -0500
To: mrex@sap.com, Stefan Santesson <stefan@aaa-sec.com>
From: Michael StJohns <mstjohns@comcast.net>
In-Reply-To: <20130220174108.C7D301A5A7@ld9781.wdf.sap.corp>
References: <CD4AAC65.5B8D5%stefan@aaa-sec.com> <20130220174108.C7D301A5A7@ld9781.wdf.sap.corp>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1361383771; bh=EiEsGaiCWZLEEEdrHOak82uSQqM5sKYffzecO20lrgM=; h=Received:Received:Date:To:From:Subject:Mime-Version:Content-Type; b=ii2s8UV2tgpwCL9XpvL2PhiXQ73TixuIthxdb+/6rkEIRIXtKhFjK1kQKl9AefWy9 ISmY9QNZd5EVIrPxmeUxeHw1UqcolBIk3+z6rlw5SFIeUHUr4HMddqbZo5ipGtqQYv OHhkmm5xcqWQeeK2KMFDF+Url6St5d4GO02eV2GjVj9WECf2iEhGb/sIqSEJESXqFK HIxXCYMYpqjCdnIrpPNHj3alBJSqdL19b4JMFcDzKkjWGxXrSp+Mix2/jbPuXY13Bg mk5feUJE3AA3hDUwv0A9QcqNkluki0g+RTYnWInlB6qS66To4fT8YbdQqRmb6WR1hz ZQxAbHhMA24jQ==
Message-Id: <20130220180931.6F43021F8718@ietfa.amsl.com>
Cc: pkix <pkix@ietf.org>
Subject: Re: [pkix] A non-compliant use of the EKU extension in Mozilla's CA Certificate Policy Version 2.1.
X-BeenThere: pkix@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: PKIX Working Group <pkix.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pkix>, <mailto:pkix-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/pkix>
List-Post: <mailto:pkix@ietf.org>
List-Help: <mailto:pkix-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pkix>, <mailto:pkix-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 20 Feb 2013 18:09:32 -0000

At 12:41 PM 2/20/2013, Martin Rex wrote:
>   id-kp-clientAuth             OBJECT IDENTIFIER ::= { id-kp 2 }
>   -- TLS WWW client authentication
>   -- Key usage bits that may be consistent: digitalSignature
>   -- and/or keyAgreement

I've actually used this EK oid for client certificates for TLS.  The general code for accepting (and deriving user credentials from) client certificates is mostly useless.  

I've ended up getting the raw certificate (after path processing validates the basics) and pulling it apart to see if it has what I want.  This works well when you have a standard mapping from a cert/cert chain to a user credential, but you want to make sure that you aren't  - for example - accepting an email credential.

(You can't do this without writing additional processing code: I want to accept a cert that's no more than 1 CA below a known and specific root, and I want to take the UID field from the subject name of the cert as the handle for mapping the cert to the server user/role and I want this cert to be a TLS cert, any other cert that chains to one of my acceptable roots gets the guest credential and role)

Mike