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
}
Tópicos relacionados