RFC: 5280
Оригинал: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile
Предыдущие версии: RFC 2459, RFC 3280, RFC 4325, RFC 4630
Категория: Предложенный стандарт
Дата публикации: (с дополнениями из RFC 6818, Январь 2013)
Авторы: , , , , , ,
Перевод: Мельников Дмитрий Анатольевич

4. Описание сертификата и поля «расширения» в сертификате

В данном разделе представлено описание СЕРТ|ОК, которые обеспечивают функциональную совместимость и своё многократное использование в рамках PKI-инфраструктуры. Далее представлен формат СЕРТ|ОК/Х.509v3 и поля «Расширения» в сертификате. Стандарты ISO/IEC и ITU-T используют версию ASN.1-кодирования 1997 года, в данном стандарте используется версия ASN.1-кодирования 1988 года. Но при этом стандарты сертификатов и полей «Расширения» эквивалентны. Кроме того, далее описываются дополнительные субполя поля «Расширения», предназначенные для частного применения, которые востребованы в рамках Х.509/PKI-инфраструктуры в Интернет-сети.

Сертификаты могут использоваться во многих прикладных системах и областях, обеспечивая достижение поставленных целей, связанных с решением проблемы функциональной совместимости, а также удовлетворение требованиям по функциональности и гарантированности. Цель данного документа сформировать, с одной стороны, общую основу для функционирования универсальных прикладных систем, которые требуют широкомасштабной функциональной совместимости, а с другой, — ограниченные требования специального назначения. Соответственно, основной акцент будет сделан на обеспечении использования СЕРТ|ОК/Х.509v3 наиболее востребованных прикладных систем Интернет-сети: электронная почта, IPsec-архитектура и WWW.

4.1. Основные поля сертификата

Основной синтаксис СЕРТ|ОК/Х.509v3 представлен ниже. При вычислении подписи, данные, которые должны быть подписаны, кодируются с использованием особых правил кодирования (distinguished encoding rules — DER) ASN.1-стандарта (Рекомендация ITU-T X.690). DER/ASN.1-кодирование включает дескриптор, размер и систему кодирования значения каждого элемента.

Certificate  ::=  SEQUENCE  {
     tbsCertificate       TBSCertificate,
     signatureAlgorithm   AlgorithmIdentifier,
     signatureValue       BIT STRING  }

TBSCertificate  ::=  SEQUENCE  {
     version         [0]  Указывается в явном виде, в режиме «по умолчанию» версия v1,
     serialNumber         CertificateSerialNumber,
     signature            AlgorithmIdentifier,
     issuer               Name,
     validity             Validity,
     subject              Name,
     subjectPublicKeyInfo SubjectPublicKeyInfo,
     issuerUniqueID  [1]  Не обязательное поле «Уникальный идентификатор
                          -- издателя», может указываться, может не указываться
                          -- если представлено, то версия должна быть v2 или v3
     subjectUniqueID [2]  Не обязательное поле «Уникальный идентификатор
                          -- владельца», может указываться, может не указываться
                          -- если представлено, то версия должна быть v2 или v3
     extensions      [3]  Указывается в явном виде, как дополнительное поле,
                          -- если представлено, то версия должна быть v3
     }

Version  ::=  INTEGER  {  v1(0), v2(1), v3(2)  }

CertificateSerialNumber  ::=  INTEGER

Validity  ::=  SEQUENCE  {
     NotBefore      Time,
     NotAfter       Time }

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

UniqueIdentifier  ::=  BIT STRING

SubjectPublicKeyInfo  ::=  SEQUENCE  {
     Algorithm     AlgorithmIdentifier,
     SubjectPublicKey     BIT STRING  }

Extensions  ::=  SEQUENCE SIZE (1..MAX) OF Extension

Extension  ::=  SEQUENCE  {
     extnID      OBJECT IDENTIFIER,
     critical    BOOLEAN DEFAULT FALSE,
     extnValue   OCTET STRING
                 -- включает DER-кодировку ASN.1-стандарта,
                 -- соответствует типу поля «Расширения», определяемого
                 -- идентификатором «extnID»
     }

Далее описываются структура и поля СЕРТ|ОК/Х.509v3 для его использования в Интернет-сети.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.