Champs de base
Un certificat X.509 version 1 contient les champs suivants. Les champs de version 2 sont abordés dans Champs de version 2. Les champs de version 3 sont abordés dans Extensions de version 3.
Version
Indique le numéro de version du certificat encodé. Actuellement, les valeurs possibles de ce champ sont 0, 1 ou 2, mais cela peut être étendu à l’avenir.
---------------------------------------------------------------------
-- Version number. Currently, this can be 0, 1, or 2.
---------------------------------------------------------------------
CertificateVersion ::= INTEGER {v1(0), v2(1), v3(2)}
Numéro de série
Contient un entier positif unique attribué au certificat par l’autorité de certification.
---------------------------------------------------------------------
-- Certificate serial number
---------------------------------------------------------------------
CertificateSerialNumber ::= INTEGER
Algorithme de signature
Contient un identificateur d’objet (OID) qui spécifie l’algorithme utilisé par l’autorité de certification pour signer le certificat. Par exemple, 1.2.840.113549.1.1.5 indique un algorithme de hachage SHA-1 associé à l’algorithme de chiffrement RSA de RSA Laboratories.
---------------------------------------------------------------------
-- Signature OID
---------------------------------------------------------------------
signature ::= AlgorithmIdentifier
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
Émetteur
Contient le nom unique X.500 de l’autorité de certification qui a créé et signé le certificat.
---------------------------------------------------------------------
-- Issuer name
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
Validité
Indique l’intervalle de temps pendant lequel le certificat est valable. Les dates jusqu’à la fin de 2049 utilisent le format Temps universel coordonné (heure de Greenwich) (yymmddhhmmssz). Les dates à compter du 1er janvier 2050 utilisent le format d’heure généralisé (yyyymmddhhmmssz).
---------------------------------------------------------------------
-- Validity period
---------------------------------------------------------------------
Validity ::= SEQUENCE
{
notBefore ChoiceOfTime,
notAfter ChoiceOfTime
}
ChoiceOfTime ::= CHOICE
{
utcTime UTCTime,
generalTime GeneralizedTime
}
Objet
Contient le nom unique X.500 de l’entité associée à la clé publique incluse dans le certificat.
---------------------------------------------------------------------
-- Subject name
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
Clé publique
Contient la clé publique et des informations sur l’algorithme associé.
---------------------------------------------------------------------
-- Subject public key information
---------------------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BITSTRING
}
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
Rubriques connexes