Compartilhar via


Campos Básicos

Um certificado X.509 versão 1 contém os campos a seguir. Os campos da versão 2 são discutidos em Campos da Versão 2. Os campos da versão 3 são discutidos em Extensões da Versão 3.

Versão

Especifica o número de versão do certificado codificado. Atualmente, os valores possíveis desse campo são 0, 1 ou 2, mas isso pode ser expandido no futuro.

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

Número de Série

Contém um inteiro positivo único atribuído pela AC (autoridade de certificação) para o certificado.

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

Algoritmo de assinatura

Contém um OID ( identificador de objeto ) que especifica o algoritmo usado pela AC para assinar o certificado. Por exemplo, 1.2.840.113549.1.1.5 especifica um algoritmo de hash SHA-1 combinado com o algoritmo de criptografia RSA da RSA Laboratories.

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

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

Emissor

Contém o DN (nome diferenciado) X.500 da AC que criou e assinou o certificado.

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

RelativeDistinguishedName ::= SET OF AttributeTypeValue

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

Validade

Especifica o intervalo de tempo durante o qual o certificado é válido. As datas até o final de 2049 usam o formato Tempo Universal Coordenado (Hora média de Greenwich) (yymmddhhmmssz). As datas que começam com 1º de janeiro de 2050 usam o formato de hora generalizado (yyyymmddhhmmssz).

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

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

Assunto

Contém um nome diferenciado X.500 da entidade associada à chave pública contida no certificado.

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

RelativeDistinguishedName ::= SET OF AttributeTypeValue

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

Chave pública

Contém a chave pública e as informações de algoritmo associadas.

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

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

Campos da versão 2

Extensões da versão 3

Certificados de chave pública X.509