Basisvelden

Een X.509 versie 1-certificaat bevat de volgende velden. Versie 2-velden worden besproken in velden van versie 2. Versie 3-velden worden besproken in versie 3-extensies.

Versie

Hiermee geeft u het versienummer van het gecodeerde certificaat. Momenteel zijn de mogelijke waarden van dit veld 0, 1 of 2, maar dit kan in de toekomst worden uitgebreid.

---------------------------------------------------------------------
-- Version number. Currently, this can be 0, 1, or 2.
---------------------------------------------------------------------
CertificateVersion ::= INTEGER {v1(0), v2(1), v3(2)}

Serienummer

Bevat een positief, uniek geheel getal dat is toegewezen door de certificeringsinstantie (CA) aan het certificaat.

---------------------------------------------------------------------
-- Certificate serial number
---------------------------------------------------------------------
CertificateSerialNumber ::= INTEGER

Handtekening-algoritme

Bevat een object-id (OID) waarmee het algoritme wordt opgegeven dat door de CA wordt gebruikt om het certificaat te ondertekenen. Bijvoorbeeld: 1.2.840.113549.1.1.5 geeft een SHA-1-hashingalgoritme op in combinatie met het RSA-versleutelingsalgoritme van RSA Labs.

---------------------------------------------------------------------
-- Signature OID
---------------------------------------------------------------------
signature ::= AlgorithmIdentifier

AlgorithmIdentifier ::= SEQUENCE 
{
  algorithm           OBJECT IDENTIFIER,
  parameters          ANY OPTIONAL    
}

Uitgevende instelling

Bevat de X.500 DN (DN) van de CA die het certificaat heeft gemaakt en ondertekend.

---------------------------------------------------------------------
-- Issuer name 
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName

RelativeDistinguishedName ::= SET OF AttributeTypeValue

AttributeTypeValue ::= SEQUENCE 
{
  type       OBJECT IDENTIFIER,
  value      ANY 
}

Geldigheid

Hiermee geeft u het tijdsinterval op waarin het certificaat geldig is. Datums tot eind 2049 gebruiken de Coordinated Universal Time-indeling (Greenwich Mean Time) (jjmmddhhmmssz). Datums vanaf 1 januari 2050 gebruiken de gegeneraliseerde tijdnotatie (jjjjmmddhhmmssz).

---------------------------------------------------------------------
-- Validity period 
---------------------------------------------------------------------
Validity ::= SEQUENCE 
{
  notBefore           ChoiceOfTime,
  notAfter            ChoiceOfTime
}

ChoiceOfTime ::= CHOICE 
{
  utcTime                 UTCTime,
  generalTime             GeneralizedTime
}

Onderwerp

Bevat een X.500 DN-naam van de entiteit die is gekoppeld aan de openbare sleutel in het certificaat.

---------------------------------------------------------------------
-- Subject name 
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName

RelativeDistinguishedName ::= SET OF AttributeTypeValue

AttributeTypeValue ::= SEQUENCE 
{
  type       OBJECT IDENTIFIER,
  value      ANY 
}

Openbare sleutel

Bevat de openbare sleutel en de bijbehorende algoritmegegevens.

---------------------------------------------------------------------
--  Subject public key information
---------------------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE 
{
  algorithm           AlgorithmIdentifier,
  subjectPublicKey    BITSTRING
}

AlgorithmIdentifier ::= SEQUENCE 
{
  algorithm           OBJECT IDENTIFIER,
  parameters          ANY OPTIONAL    
}

velden van versie 2

-extensies van versie 3

X.509-certificaten voor openbare sleutel