Certificates may be used in a wide range of applications and
environments covering a broad spectrum of interoperability goals and
a broader spectrum of operational and assurance requirements. The
goal of this document is to establish a common baseline for generic
applications requiring broad interoperability and limited special
purpose requirements. In particular, the emphasis will be on
supporting the use of X.509 v3 certificates for informal Internet
electronic mail, IPsec, and WWW applications.
4.1 Basic Certificate Fields
The X.509 v3 certificate basic syntax is as follows. For signature
calculation, the certificate is encoded using the ASN.1 distinguished
encoding rules (DER) [X.208]. ASN.1 DER encoding is a tag, length,
value encoding system for each element.
Certificate ::= SEQUENCE {
tbsCertificate TBSCertificate,
signatureAlgorithm AlgorithmIdentifier,
signatureValue BIT STRING }
TBSCertificate ::= SEQUENCE {
version [0] EXPLICIT Version DEFAULT v1,
serialNumber CertificateSerialNumber,
signature AlgorithmIdentifier,
issuer Name,
validity Validity,
subject Name,
subjectPublicKeyInfo SubjectPublicKeyInfo,
issuerUniqueID [1] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version shall be v2 or v3
subjectUniqueID [2] IMPLICIT UniqueIdentifier OPTIONAL,
-- If present, version shall be v2 or v3
extensions [3] EXPLICIT Extensions OPTIONAL
-- If present, version shall be v3
}
RFC 2459 Internet X.509 Public Key Infrastructure January 1999
Version ::= INTEGER { v1(0), v2(1), v3(2) }
CertificateSerialNumber ::= INTEGER
Validity ::= SEQUENCE {
notBefore Time,
notAfter Time }
Time ::= CHOICE {
utcTime UTCTime,
generalTime GeneralizedTime }
UniqueIdentifier ::= BIT STRING
SubjectPublicKeyInfo ::= SEQUENCE {
algorithm AlgorithmIdentifier,
subjectPublicKey BIT STRING }
Extensions ::= SEQUENCE SIZE (1..MAX) OF Extension
Extension ::= SEQUENCE {
extnID OBJECT IDENTIFIER,
critical BOOLEAN DEFAULT FALSE,
extnValue OCTET STRING }
The following items describe the X.509 v3 certificate for use in the
Internet.
4.1.1 Certificate Fields
The Certificate is a SEQUENCE of three required fields. The fields
are described in detail in the following subsections.
4.1.1.1 tbsCertificate
The field contains the names of the subject and issuer, a public key
associated with the subject, a validity period, and other associated
information. The fields are described in detail in section 4.1.2;
the tbscertificate may also include extensions which are described in
section 4.2.
4.1.1.2 signatureAlgorithm
The signatureAlgorithm field contains the identifier for the
cryptographic algorithm used by the CA to sign this certificate.
Section 7.2 lists the supported signature algorithms.
An algorithm identifier is defined by the following ASN.1 structure:
RFC 2459 Internet X.509 Public Key Infrastructure January 1999
=9= |