Основные поля
Сертификат X.509 версии 1 содержит следующие поля. Поля версии 2 рассматриваются в разделе Поля версии 2. Поля версии 3 рассматриваются в разделе Расширения версии 3.
Версия
Указывает номер версии закодированного сертификата. В настоящее время возможные значения этого поля: 0, 1 или 2, но в будущем это поле может быть расширено.
---------------------------------------------------------------------
-- Version number. Currently, this can be 0, 1, or 2.
---------------------------------------------------------------------
CertificateVersion ::= INTEGER {v1(0), v2(1), v3(2)}
Серийный номер
Содержит положительное уникальное целое число, присвоенное сертификату центром сертификации (ЦС).
---------------------------------------------------------------------
-- Certificate serial number
---------------------------------------------------------------------
CertificateSerialNumber ::= INTEGER
Алгоритм подписи
Содержит идентификатор объекта (OID), указывающий алгоритм, используемый ЦС для подписи сертификата. Например, 1.2.840.113549.1.1.5 указывает на использование хэш-алгоритма SHA-1 вместе с алгоритмом шифрования RSA, разработанного RSA Laboratories.
---------------------------------------------------------------------
-- Signature OID
---------------------------------------------------------------------
signature ::= AlgorithmIdentifier
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
Издатель
Содержит различающееся имя X.500 (DN) ЦС, создавшего и подписавшего сертификат.
---------------------------------------------------------------------
-- Issuer name
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
Срок действия
Указывает промежуток времени, в течение которого действует сертификат. Даты до конца 2049 года используют формат времени по Гринвичу (yymmddhhmmssz). Даты, начинающиеся с 1 января 2050 года, используют обобщенный формат времени (ггггммддчммсс).
---------------------------------------------------------------------
-- Validity period
---------------------------------------------------------------------
Validity ::= SEQUENCE
{
notBefore ChoiceOfTime,
notAfter ChoiceOfTime
}
ChoiceOfTime ::= CHOICE
{
utcTime UTCTime,
generalTime GeneralizedTime
}
Тема
Содержит различающееся имя X.500 объекта, связанного с открытым ключом, содержащимся в сертификате.
---------------------------------------------------------------------
-- Subject name
---------------------------------------------------------------------
Name ::= SEQUENCE OF RelativeDistinguishedName
RelativeDistinguishedName ::= SET OF AttributeTypeValue
AttributeTypeValue ::= SEQUENCE
{
type OBJECT IDENTIFIER,
value ANY
}
Открытый ключ
Содержит открытый ключ и данные связанного алгоритма.
---------------------------------------------------------------------
-- Subject public key information
---------------------------------------------------------------------
SubjectPublicKeyInfo ::= SEQUENCE
{
algorithm AlgorithmIdentifier,
subjectPublicKey BITSTRING
}
AlgorithmIdentifier ::= SEQUENCE
{
algorithm OBJECT IDENTIFIER,
parameters ANY OPTIONAL
}
Связанные темы