Campos básicos
Un certificado X.509 versión 1 contiene los campos siguientes. Los campos de la versión 2 se describen en campos de la versión 2. Los campos de la versión 3 se describen en Extensiones de la versión 3.
Versión
Especifica el número de versión del certificado codificado. Actualmente, los valores posibles de este campo son 0, 1 o 2, pero esto puede expandirse en el futuro.
---------------------------------------------------------------------
-- Version number. Currently, this can be 0, 1, or 2.
---------------------------------------------------------------------
CertificateVersion ::= INTEGER {v1(0), v2(1), v3(2)}
Número de serie
Contiene un entero positivo único asignado por la entidad de certificación (CA) al certificado.
---------------------------------------------------------------------
-- Certificate serial number
---------------------------------------------------------------------
CertificateSerialNumber ::= INTEGER
Algoritmo de firma
Contiene un identificador de objeto (OID) que especifica el algoritmo utilizado por la ENTIDAD de certificación para firmar el certificado. Por ejemplo, 1.2.840.113549.1.1.5 especifica un algoritmo hash SHA-1 combinado con el algoritmo de cifrado RSA de RSA Laboratories.
---------------------------------------------------------------------
-- Signature OID
---------------------------------------------------------------------
signature ::= AlgorithmIdentifier
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
Emisor
Contiene el nombre distintivo X.500 (DN) de la ENTIDAD de certificación que creó y firmó el certificado.
---------------------------------------------------------------------
-- Issuer name
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
Validez
Especifica el intervalo de tiempo durante el cual el certificado es válido. Las fechas a finales de 2049 usan el formato hora universal coordinada (hora media de Greenwich) (yymmddhhmmssz). Las fechas a partir del 1 de enero de 2050 usan el formato de hora generalizado (aaaammddhhmmssz).
---------------------------------------------------------------------
-- Validity period
---------------------------------------------------------------------
Validity ::= SEQUENCE
{
notBefore ChoiceOfTime,
notAfter ChoiceOfTime
}
ChoiceOfTime ::= CHOICE
{
utcTime UTCTime,
generalTime GeneralizedTime
}
Asunto
Contiene un nombre distintivo X.500 de la entidad asociada con la clave pública contenida en el certificado.
---------------------------------------------------------------------
-- Subject name
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
Clave pública
Contiene la clave pública y la información de algoritmo asociada.
---------------------------------------------------------------------
-- Subject public key information
---------------------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BITSTRING
}
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
Temas relacionados