This section summarizes the extension types that are defined as part of the Internet X.509 Version 3 standard, as of September 1998, and indicates which types are recommended by the PKIX working group.
This section summarizes important information about each certificate. For complete details, see both the X.509 v3 standard (available from the ITU) and the Internet X.509 Public Key Infrastructure - Certificate and CRL Profile.
Each extension in a certificate can be designated as critical or noncritical. A certificate-using system, such as browser software, must reject the certificate if it encounters a critical extension it does not recognize; however, a noncritical extension can be ignored if it is not recognized.
These are the standard X.509 v3 extensions described in the sections that follow:
authorityKeyIdentifier
OID
2.5.29.18
Reference
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.1
Criticality
This extension is always noncritical and is always evaluated.
Discussion
The Authority Key Identifier extension identifies the public key corresponding to the private key used to sign a certificate. This extension is useful when an issuer has multiple signing keys (for example, due to CA certificate renewal).
The extension consists of
If the keyIdentifier field exists, then it is used to select the certificate with a matching subjectKeyIdentifier extension. If the authorityCertIssuer and authorityCertSerialNumber fields are present, then they are used to identify the correct certificate by issuer and serialNumber.
If this extension is not present, then the issuer name alone is used to identify the issuer certificate.
PKIX Part 1 requires this extension for all certificates except self-signed root CA certificates. Where a key identifier has not been previously established, PKIX recommends that the authorityCertIssuer and authorityCertSerialNumber fields be specified. These fields permit construction of a complete certificate chain by matching the SubjectName and CertificateSerialNumber fields in the issuer's certificate against the authortiyCertIssuer and authorityCertSerialNumber in the AuthorityKeyIdentifier extension of the subject certificate.
Netscape Recommendation
Netscape recommends that this extension be present in all certificates and that the authorityCertIssuer and authorityCertSerialNumber fields be specified. This extension is not supported by Navigator 3.x, but its presence in a certificate won't interfere with Navigator 3.x.
Microsoft Recommendation
Microsoft recommends that this extension be present in all certificates and that the authorityCertIssuer and authorityCertSerialNumber fields be specified.
basicConstraints
OID
2.5.29.19
Reference
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.10
Criticality
PKIX Part 1 requires that this extension be marked critical. This extension is evaluated regardless of its criticality.
Discussion
This extension is used during the certificate chain verification process to identify CA certificates and to apply certificate chain path length constraints. The cA component should be set to true for all CA certificates. PKIX recommends that this extension should not appear in end-entity certificates.
If the pathLenConstraint component is present, its value must be greater than the number of CA certificates that have been processed so far (starting with the end-entity certificate and moving up the chain). If pathLenConstraint is omitted, then all of the higher level CA certificates in the chain must not include this component when the extension is present.
See CA Certificates and Extension Interactions regarding the interaction of the this extension with the Netscape Certificate Type extension.
Netscape Recommendation
Netscape requires this extension for all CA certificates.
Microsoft Recommendation
Microsoft recommends this extension for all certificates.
certificatePolicies
OID
2.5.29.32
References
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.5
Criticality
This extension may be critical or noncritical.
Discussion
The Certificate Policies extension defines one or more policies, each of which consists of an OID and optional qualifiers. The extension can include a URI to the issuer's Certificate Practice Statement or can embed issuer policy information, such as a user notice in text form. This information can be used by certificate-enabled applications.
If this extension is present, PKIX Part 1 recommends that policies be identified with an OID only, or if necessary only certain recommended qualifiers.
Netscape Recommendation
Netscape recommends that this extension be included at the discretion of the certificate issuer.
Microsoft Recommendation
Microsoft recommends that this extension be included in all certificates.
cRLDistributionPoints
OID
2.5.29.31
Reference
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.14
Criticality
PKIX recommends that this extension be marked noncritical and that it be supported for all certificates.
Discussion
This extension defines how CRL information for this certificate is to be obtained. It should be used if the system is configured to use CRL issuing points.
If the extension contains a DistributionPointName of type URI, the URI is assumed to be a pointer to the current CRL for the associated reasons and will be issued by the associated cRLIssuer. The expected values for the URI are those defined for the subjectAltName extension. If the distributionPoint omits reasons, the CRL must include revocations for all reasons. If the distributionPoint omits cRLIssuer, the CRL must be issued by the CA that issued the certificate.
PKIX recommends that this extension be supported by CAs and applications.
Netscape Recommendation
Netscape recommends that this extension be supported for all certificates, with the exception of self-signed root CA certificates.
Microsoft Recommendation
Microsoft recommends that this extension be supported.
extKeyUsage
OID
2.5.29.37
Reference
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.13
Criticality
If this extension is marked critical, the certificate must be used for one of the indicated purposes only. If it is not marked critical, it is treated as an advisory field that may be used to identify keys but does not restrict the use of the certificate to the indicated purposes.
Discussion
The Extended Key Usage extension indicates one or more purposes for which the certified public key may be used. These purposes may be in addition to or in place of the basic purposes indicated in the key usage extension.
The Key Usage, Extended Key Usage, and Basic Constraints extensions act together to define the purposes for which the certificate is intended to be used. Applications can use these extensions to disallow the use of a certificate in inappropriate contexts.
Table B.2 lists the usages defined by PKIX for use with this extension, and Table B.3 lists usages privately defined by Microsoft and Netscape.
Netscape Recommendations
Netscape recommends that this extension be supported for all certificates, and requires it for all certificates that support step-up, or Server Gated Crypto (SGC).
Microsoft Recommendations
Microsoft products interpret this extension as follows. If the extension is not present, the certificate is considered to be valid for any usage (to support backward compatibility with certificates that did not use this extension). Otherwise, interpretation depends on usage, as follows:
Microsoft allows users to control certificate properties that correspond to Extended Key Usage specifications. For example, from the Internet Explorer 4.0 user interface, the user may deselect a CA certificate in a list of CA certificates otherwise trusted for a given usage. Note that the user may only further restrict usages, and cannot add them if they are not supported by the certificate itself. These user settings affect only the interpretation of the certificate on the computer where they are set. They do not affect the certificate itself.
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.
issuerAltName
OID
2.5.29.16
Reference
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.8
Criticality
PKIX Part 1 recommends that this extension should be marked noncritical.
Discussion
The Issuer Alternative Name extension is used to associate Internet-style identities with the certificate issuer. Names must use the forms defined for subjectAltName.
Netscape Recommendation
Netscape products do not examine this extension.
Microsoft Recommendation
Microsoft products do not examine this extension. Microsoft recommends that authorityKeyIdentifier be used rather than issuerAltName or the certificate's issuer name for the purposes of building certificate chains.
keyUsage
OID
2.5.29.15
Reference
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.3
Criticality
This extension may be critical or noncritical. PKIX Part 1 recommends that it should be marked critical if it is used.
Discussion
The Key Usage extension defines the purpose of the key contained in the certificate. The Key Usage, Extended Key Usage, Basic Constraints, and Netscape Certificate Type extensions act together to specify the purposes for which a certificate can be used. For more information on interactions between these extensions in CA certificates, see CA Certificates and Extension Interactions.
If this extension is included at all, the bits should be set as follows:
Table B.4 summarizes the above guidelines for typical certificate uses.
If the keyUsage extension is present and is marked critical, then it will be used to enforce the usage of the certificate and key. The extension is used to limit the usage of a key; if the extension is not present or not critical, all types of usage are allowed.
If the keyUsage extension is present (critical or not), it is used to select from multiple certificates for a given operation. For example, it is used to distinguish separate signing and encryption certificates for users who have separate certificates and key pairs for these operations.
Netscape Recommendation
Netscape recommends this extension for all certificates if their intended purpose or purposes are known. Netscape requires this extension for all dual-key signing certificates.
Microsoft Recommendation
Microsoft recommends this extension for all certificates if their intended purpose or purposes are known. If the extensions is absent, Microsoft products will assume the certificate is valid for all usages. If the extension is present, Microsoft products will interpret the extension in the same way whether marked critical or not. If the extension is present, the actual usage must conform to the specified usage.
The only Microsoft application that currently enforces this extension is Microsoft Outlook.
nameConstraints
OID
2.5.29.30
Reference
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.11
Criticality
PKIX Part 1 requires that this extension be marked critical.
Discussion
This extension, which can used in CA certificates only, defines a name space within which all subject names in subsequent certificates in a certification path must be located.
Netscape Recommendation
Netscape products do not currently examine this extension.
Microsoft Recommendation
Microsoft products do not currently examine this extension.
policyConstraints
OID
2.5.29.34
References
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.12
Criticality
This extension may be critical or noncritical.
Discussion
This extension, which can be used in CA certificates only, constrains path validation in two ways. It can be used to prohibit policy mapping or to require that each certificate in a path contain an acceptable policy identifier.
PKIX requires that, if present, this extension must never consist of a null sequence. At least one of the two available fields must be present.
Netscape Recommendations
Netscape products do not currently examine this extension.
Microsoft Recommendations
Microsoft products do not currently examine this extension.
policyMappings
OID
2.5.29.33
References
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.6
Criticality
This extension must be noncritical.
Discussion
The Policy Mappings extension is used in CA certificates only. It lists one or more pairs of OIDs used to indicate that the corresponding policies of one CA are equivalent to policies of another CA. It may be useful in the context of cross-certification.
This extension may be supported by CAs and/or applications.
Netscape Recommendation
This extension is not currently used by Netscape products.
Microsoft Recommendation
This extension is not currently used by Microsoft products.
privateKeyUsagePeriod
OID
2.5.29.16
Reference
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.4
Discussion
The Private Key Usage Period extension allows the certificate issuer to specify a different validity period for the private key than for the certificate itself. This extension is intended for use with digital signature keys.
PKIX Part 1 recommends against the use of this extension. CAs conforming to PKIX Part 1 must not generate certificates with this extension.
Netscape Recommendation
Netscape recommends against the use of this extension.
Microsoft Recommendation
Netscape recommends against the use of this extension.
subjectAltName
OID
2.5.29.17
Reference
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.7
Criticality
If the certificate's subject field is empty, this extension must be marked critical.
Discussion
The Subject Alternative Name extension includes one or more alternative (non-X.500) names for the identity bound by the CA to the certified public key. It may be used in addition to the certificate's subject name or as a replacement for it. Defined name forms include Internet electronic mail address (SMPT, as defined in RFC-822), DNS name, IP address, and uniform resource identifier (URI).
PKIX requires this extension for entities that are identified by name forms other than the X.500 distinguished name (DN) used in the subject field. PKIX Part 1 describes additional rules for the relationship between this extension and the subject field.
Email addresses may be provided either in the Subject Alternative Name extension, the certificate subject name field, or both. If the email address is provided as part of the subject name, it must be in the form of the EmailAddress attribute defined by PKCS-9. Software that supports S/MIME must be able to read an email address from either the Subject Alternative Name extension or from the subject name field.
Netscape Recommendation
Netscape recommends the use of this extension with all certificates issued by a CA (except for SSL client certificates).
Netscape products read only the first alternative name in this extension, and ignore the rest. For S/MIME certificates, Netscape software first checks the first alternative name in this extension (if the extension is present) for the EmailAddress attribute. If the first alternative name is not an EmailAddress attribute, Netscape software looks for the e= attribute of the DN. If the e= attribute is not present, Netscape software looks for the mail= attribute of the DN.
Microsoft Recommendation
Microsoft recommends the use of this extension whenever X.500 is insufficient for naming purposes. Currently, no Microsoft products require the use of Subject Alternative Name. All Microsoft products that support S/MIME are capable of reading email names from this extension or from the subject name. Future versions of Microsoft Exchange Server will issue certificates with X.500 names that do not contain the Email Address attribute, and will place the SMTP address in the Subject Alternative Name extension.
subjectDirectoryAttributes
OID
2.5.29.9
Reference
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.9
Criticality
PKIX Part 1 requires that this extension be marked noncritical.
Discussion
The Subject Directory Attributes extension conveys any desired directory attribute values for the subject of the certificate. It is not recommended as an essential part of the proposed PKIX standard, but may be used in local environments.
Netscape Recommendation
Netscape products do not examine this extension.
Microsoft Recommendation
Microsoft products do not examine this extension.
subjectKeyIdentifier
OID
2.5.29.14
Reference
ftp://ftp.isi.edu/in-notes/rfc2459.txt 4.2.1.2
Criticality
This extension is always noncritical.
Discussion
The Subject Key Identifier extension identifies the public key certified by this certificate. This extension provides a way of distinguishing public keys if more than one is available for a given subject name, for example after the certificate has been renewed with a new key.
The value of this extension should be calculated by performing a SHA-1 hash of the certificate's DER-encoded subjectPublicKeyInfo, as recommended by PKIX. This extension is used with the form of the authorityKeyIdentifier extension in which the issuer's public key is specified by a hash. In this case the verifier does not need to compute the hash, since it's only necessary to compare the issuer's Subject Key Identifier with the subject's Authority Key Identifier.
PKIX Part 1 requires this extension for all CA certificates and recommends it for all other certificates.
Netscape Recommendation
Netscape recommends this extension for all certificates.
Microsoft Recommendation
Microsoft recommends this extension for all certificates.
|