Compartir a través de


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    
}

Campos de la versión 2

Extensiones de la versión 3

Certificados de clave pública X.509