Here are three different annotations regarding a non-critical 
extKeyUsage extension.

ITU-T X.509 2000/03:
"If this extension is present, and the certificate-using system 
recognizes and processes the extendedKeyUsage extension type, then 
the certificate-using system shall ensure that the certificate 
shall be used only for one of the purposes indicated."

ITU-T X.509 2000/04:
"It is an advisory field and does not imply that usage of the key is 
restricted by the certification authority to the purpose indicated." 

IETF/PKIX RFC5280 2008/05:
"If the extension is present, then the certificate MUST only be used
for one of the purposes indicated."

While the ITU has reduced its formal "shall" to a clarifying "does 
not imply", the IETF defines a formal "must" which is no longer 
compatible with the ITU. 

Though the IETF states "It is one goal of this document to specify a 
profile for Internet WWW, electronic mail, and IPsec applications", 
therefore they cannot redefine already defined ITU content. 

Furthermore, there is no need to do so as the ITU definition for a 
critical flagged extKeyUsage already covers the needs of the IETF. 

Peter

-----Original Message-----
From: owner-openssl-us...@openssl.org [mailto:owner-openssl-us...@openssl.org] 
On Behalf Of Patrick Patterson
Sent: Sunday, July 19, 2009 12:40 AM
To: openssl-users@openssl.org
Subject: Re: One CA for many clients (a silly question)

Hi there:

PMHager wrote:
> Correct, as I already denoted these are from the obsolete RFC2459.
> 
> As the IETF/PKIX charter could not define a consenting set of flags, 
> Steve Kent had suggested to drop them and leave it to the IPsec WG. 
> This has been done by RFC4809: Its recommendation is not to use any 
> extKeyUsage and, if necessary now to use: 
> 
>    id-kp-ipsecIKE OBJECT IDENTIFIER ::= { id-kp 17 }
> 
> As RFC4809 is just over 2 years old and till now its OID is not in the 
> databases from Alvestrand or the ITU, it is very likely that products 
> in the field still support the former ones. This is ok, as long as 
> it is done in conformance with X509's extKeyUsage definition: 
> 
> If the extension is flagged critical, then the certificate 
> shall be used only for one of the purposes indicated. 
> 
> If the extension is flagged non-critical, then it indicates 
> the intended purpose or purposes of the key, and may be used 
> in finding the correct key/certificate of an entity that has 
> multiple keys/certificates...
> 

Be *VERY* careful with this interpretation - RFC5280 states for EKU:

"If the extension is present, then the certificate MUST only be used
for one of the purposes indicated."

Thus removing the X.509 restriction for constraining based on
criticality - if you are going to conform to RFC5280, then the mere
presence of an EKU constrains the usage of that particular certificate.

Have fun.

Patrick.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to