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