B.3. Standard X.509 v3 Certificate Extension Reference
0x2
(which corresponds to version 3).
Example B.4. Sample Pretty-Print Certificate Extensions
Data: Version: v3 Serial Number: 0x1 Signature Algorithm: SHA1withRSA - 1.2.840.113549.1.1.5 Issuer: CN=Certificate Manager,OU=netscape,O=ExampleCorp,L=MV,ST=CA,C=US Validity: Not Before: Friday, February 21, 2005 12:00:00 AM PST America/Los_Angeles Not After: Monday, February 21, 2007 12:00:00 AM PST America/Los_Angeles Subject: CN=Certificate Manager,OU=netscape,O=ExampleCorp,L=MV,ST=CA,C=US Subject Public Key Info: Algorithm: RSA - 1.2.840.113549.1.1.1 Public Key: Exponent: 65537 Public Key Modulus: (2048 bits) : E4:71:2A:CE:E4:24:DC:C4:AB:DF:A3:2E:80:42:0B:D9: CF:90:BE:88:4A:5C:C5:B3:73:BF:49:4D:77:31:8A:88: 15:A7:56:5F:E4:93:68:83:00:BB:4F:C0:47:03:67:F1: 30:79:43:08:1C:28:A8:97:70:40:CA:64:FA:9E:42:DF: 35:3D:0E:75:C6:B9:F2:47:0B:D5:CE:24:DD:0A:F7:84: 4E:FA:16:29:3B:91:D3:EE:24:E9:AF:F6:A1:49:E1:96: 70:DE:6F:B2:BE:3A:07:1A:0B:FD:FE:2F:75:FD:F9:FC: 63:69:36:B6:5B:09:C6:84:92:17:9C:3E:64:C3:C4:C9 Extensions: Identifier: Netscape Certificate Type - 2.16.840.1.113730.1.1 Critical: no Certificate Usage: SSL CA Secure Email CA ObjectSigning CA Identifier: Basic Constraints - 2.5.29.19 Critical: yes Is CA: yes Path Length Constraint: UNLIMITED Identifier: Subject Key Identifier - 2.5.29.14 Critical: no Key Identifier: 3B:46:83:85:27:BC:F5:9D:8E:63:E3:BE:79:EF:AF:79: 9C:37:85:84 Identifier: Authority Key Identifier - 2.5.29.35 Critical: no Key Identifier: 3B:46:83:85:27:BC:F5:9D:8E:63:E3:BE:79:EF:AF:79: 9C:37:85:84 Identifier: Key Usage: - 2.5.29.15 Critical: yes Key Usage: Digital Signature Key CertSign Crl Sign Signature: Algorithm: SHA1withRSA - 1.2.840.113549.1.1.5 Signature: AA:96:65:3D:10:FA:C7:0B:74:38:2D:93:54:32:C0:5B: 2F:18:93:E9:7C:32:E6:A4:4F:4E:38:93:61:83:3A:6A: A2:11:91:C2:D2:A3:48:07:6C:07:54:A8:B8:42:0E:B4: E4:AE:42:B4:B5:36:24:46:4F:83:61:64:13:69:03:DF: 41:88:0B:CB:39:57:8C:6B:9F:52:7E:26:F9:24:5E:E7: BC:FB:FD:93:13:AF:24:3A:8F:DB:E3:DC:C9:F9:1F:67: A8:BD:0B:95:84:9D:EB:FC:02:95:A0:49:2C:05:D4:B0: 35:EA:A6:80:30:20:FF:B1:85:C8:4B:74:D9:DC:BB:50
Netscape Certificate Comment
is 2.16.840.1.113730.1.13. The OID assigned to this extension is hierarchical and includes the former Netscape company arc, 2.16.840.1
. The OID definition entry is http://www.alvestrand.no/objectid/2.16.840.1.113730.1.13.html.
B.3.1. authorityInfoAccess
accessMethod
and an accessLocation
field. accessMethod
specifies by OID the type and format of information about the issuer named in accessLocation
.
accessMethod
(id-ad-caIssuers
) to get a list of CAs that have issued certificates higher in the CA chain than the issuer of the certificate using the extension. The accessLocation
field then typically contains a URL indicating the location and protocol (LDAP, HTTP, or FTP) used to retrieve the list.
id-ad-ocsp
) for using OCSP to verify certificates. The accessLocation
field then contains a URL indicating the location and protocol used to access an OCSP responder that can validate the certificate.
1.3.6.1.5.5.7.1.1
This extension must be noncritical.
B.3.2. authorityKeyIdentifier
- An explicit key identifier, set in the
keyIdentifier
field - An issuer, set in the
authorityCertIssuer
field, and serial number, set in theauthorityCertSerialNumber
field, identifying a certificate
keyIdentifier
field exists, 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
.
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 Authority Key Identifier extension of the subject certificate.
2.5.29.35
This extension is always noncritical and is always evaluated.
B.3.3. basicConstraints
cA
component should be set to true
for all CA certificates. PKIX recommends that this extension should not appear in end-entity certificates.
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.
2.5.29.19
PKIX Part 1 requires that this extension be marked critical. This extension is evaluated regardless of its criticality.
B.3.4. certificatePoliciesExt
2.5.29.32
This extension may be critical or noncritical.
B.3.5. CRLDistributionPoints
DistributionPointName
with a type set to URI, the URI is assumed to be a pointer to the current CRL for the specified revocation reasons and will be issued by the named cRLIssuer
. The expected values for the URI are those defined for the Subject Alternative Name 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.
2.5.29.31
PKIX recommends that this extension be marked noncritical and that it be supported for all certificates.
B.3.6. extKeyUsage
OCSP Signing
in an OCSP responder's certificate unless the CA signing key that signed the certificates validated by the responder is also the OCSP signing key. The OCSP responder's certificate must be issued directly by the CA that signs certificates the responder will validate.
2.5.29.37
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.
Use | OID |
---|---|
Server authentication | 1.3.6.1.5.5.7.3.1 |
Client authentication | 1.3.6.1.5.5.7.3.2 |
Code signing | 1.3.6.1.5.5.7.3.3 |
1.3.6.1.5.5.7.3.4 | |
Timestamping | 1.3.6.1.5.5.7.3.8 |
OCSP Signing |
1.3.6.1.5.5.7.3.9[a]
|
[a]
OCSP Signing is not defined in PKIX Part 1, but in RFC 2560, X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP.
|
Use | OID |
---|---|
Certificate trust list signing | 1.3.6.1.4.1.311.10.3.1 |
Microsoft Server Gated Crypto (SGC) | 1.3.6.1.4.1.311.10.3.3 |
Microsoft Encrypted File System | 1.3.6.1.4.1.311.10.3.4 |
Netscape SGC | 2.16.840.1.113730.4.1 |
B.3.7. issuerAltName Extension
2.5.29.18
PKIX Part 1 recommends that this extension be marked noncritical.
B.3.8. keyUsage
digitalSignature
(0
) for SSL client certificates, S/MIME signing certificates, and object-signing certificates.nonRepudiation
(1
) for some S/MIME signing certificates and object-signing certificates.Warning
Use of this bit is controversial. Carefully consider the legal consequences of its use before setting it for any certificate.keyEncipherment
(2
) for SSL server certificates and S/MIME encryption certificates.dataEncipherment
(3
) when the subject's public key is used to encrypt user data instead of key material.keyAgreement
(4
) when the subject's public key is used for key agreement.keyCertSign
(5
) for all CA signing certificates.cRLSign
(6
) for CA signing certificates that are used to sign CRLs.encipherOnly
(7
) if the public key is used only for enciphering data. If this bit is set,keyAgreement
should also be set.decipherOnly
(8
) if the public key is used only for deciphering data. If this bit is set,keyAgreement
should also be set.
keyUsage
extension is present and marked critical, then it is 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.
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 operations.
2.5.29.15
This extension may be critical or noncritical. PKIX Part 1 recommends that it should be marked critical if it is used.
Purpose of Certificate | Required Key Usage Bit |
---|---|
CA Signing |
|
SSL Client | digitalSignature |
SSL Server | keyEncipherment |
S/MIME Signing | digitalSignature |
S/MIME Encryption | keyEncipherment |
Certificate Signing | keyCertSign |
Object Signing | digitalSignature |
B.3.9. nameConstraints
2.5.29.30
PKIX Part 1 requires that this extension be marked critical.
B.3.10. OCSPNocheck
OCSPNocheck
should be issued with short lifetimes and be renewed frequently.
1.3.6.1.5.5.7.48.4
This extension should be noncritical.
B.3.11. policyConstraints
2.5.29.36
This extension may be critical or noncritical.
B.3.12. policyMappings
2.5.29.33
This extension must be noncritical.
B.3.13. privateKeyUsagePeriod
Note
2.5.29.16
B.3.14. subjectAltName
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.
2.5.29.17
If the certificate's subject field is empty, this extension must be marked critical.
B.3.15. subjectDirectoryAttributes
2.5.29.9
PKIX Part 1 requires that this extension be marked noncritical.
B.3.16. subjectKeyIdentifier
subjectPublicKey
, as recommended by PKIX. The Subject Key Identifier extension is used in conjunction with the Authority Key Identifier extension for CA certificates. If the CA certificate has a Subject Key Identifier extension, the key identifier in the Authority Key Identifier extension of the certificate being verified should match the key identifier of the CA's Subject Key Identifier extension. It is not necessary for the verifier to recompute the key identifier in this case.
2.5.29.14
This extension is always noncritical.