compliances , security , web-services

What is an x.509 Digital Certificate Structure

March 7, 2010

X.509 certificates have the following fields.

Version x.509 version:  0=v1, 1=v2, 2=v3
serialNumber Controlled by CA, assigned to each cert
signature algorithm OID of the algorithm used for digital signature
issuer name Ex “sha1WithRSAEncryption” or “dsa-with-sha1”
validity period x.500 Distinguished Name (DN) of the CA
subject name Expiration date
subjectPublicKeyInfo DN of subject for whom certificate was issued
Algorigthm ID and subject public key.
1.2.840.113549.1.1.1 (rsaEncryption),
1.2.840.10040.4.1 (dsa), or
1.2.840.10045.2.1 (ecdsa) are acceptable
issuer unique id Unique ID of each CA (version 2 and 3 only)
subject unique id Unique ID for whom the certificate was issued (version 2 and 3 only)
extensions See below (version 3 only)
digital signature of above The digital signature of all the above info signed by CA.
Optionally:
X.509 v3 certificates have certificate extensions to provide additional information
authorityKeyIdentifier Identifies the public key used to verify signature
subjectKeyIdentifier Identifies the public key being certified
keyUsage Indicates purposes for key usage.
  Ex “digitalSignature”, “nonRepudiation”, “encipherOnly”
extKeyUsage Indicates additional key usage
  Ex “id-kp-clientAuth”, “id-kp-emailProtection”
privateKeyUsagePeriod Period of use of private key corresponding to public key
certificatePolicies Policies that certificate expressly supports.
policyMappings In CA certificates only
privateVersInfo Indicates the version of CA software and flags if user key update is allowed.
subjectAltName Provides one or more names that are bound to the public key
issuerAltName In form other than DN of the cert issuer
subjectDirecotryAttr Convey any desired attributes.
basicConstraints Subject may act as a CA, and what the path length may be.
nameConstraints Cross-certificates only.
PolicyConstraints Identify constraints with require explicit policy ident.
cRLDistributionPoints Where to find CRL to ascertain if cert has been revoked.
authorityInfoAccess How to access CA info and services.

The initial version of X.509 was published in 1988, version 2 was published in 1993, and version 3 was proposed in 1994 and considered for approval in 1995. Version 3 addresses some of the security concerns and limited flexibility that were issues in versions 1 and 2