Campi di base
Un certificato X.509 versione 1 contiene i campi seguenti. I campi versione 2 sono descritti nei campi versione 2. I campi versione 3 sono descritti in Estensioni versione 3.
Versione
Specifica il numero di versione del certificato codificato. Attualmente, i valori possibili di questo campo sono 0, 1 o 2, ma questo potrebbe essere espanso in futuro.
---------------------------------------------------------------------
-- Version number. Currently, this can be 0, 1, or 2.
---------------------------------------------------------------------
CertificateVersion ::= INTEGER {v1(0), v2(1), v3(2)}
Numero di serie
Contiene un numero intero univoco positivo assegnato al certificato dall'Autorità di certificazione (CA).
---------------------------------------------------------------------
-- Certificate serial number
---------------------------------------------------------------------
CertificateSerialNumber ::= INTEGER
Algoritmo di firma
Contiene un identificatore di oggetto (OID) che specifica l'algoritmo utilizzato dalla CA per firmare il certificato. Ad esempio, 1.2.840.113549.1.1.5 specifica un algoritmo di hash SHA-1 combinato con l'algoritmo di crittografia RSA realizzato da RSA Laboratories.
---------------------------------------------------------------------
-- Signature OID
---------------------------------------------------------------------
signature ::= AlgorithmIdentifier
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
Issuer
Contiene il nome distinto X.500 (DN) della CA che ha creato e firmato il certificato.
---------------------------------------------------------------------
-- Issuer name
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
Validità
Specifica l'intervallo di tempo di validità del certificato. Le date fino alla fine del 2049 usano il formato Coordinated Universal Time (Greenwich Mean Time) (yymmddhhmmssz). Le date a partire dal 1° gennaio 2050 usano il formato ora generalizzato (aammdhhmmssz).
---------------------------------------------------------------------
-- Validity period
---------------------------------------------------------------------
Validity ::= SEQUENCE
{
notBefore ChoiceOfTime,
notAfter ChoiceOfTime
}
ChoiceOfTime ::= CHOICE
{
utcTime UTCTime,
generalTime GeneralizedTime
}
Oggetto
Contiene un nome distinto X.500 dell'entità associata alla chiave pubblica contenuta nel certificato.
---------------------------------------------------------------------
-- Subject name
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
Chiave pubblica
Contiene la chiave pubblica e le informazioni sugli algoritmi associate.
---------------------------------------------------------------------
-- Subject public key information
---------------------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BITSTRING
}
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
Argomenti correlati