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.2.1.12. Расширение сферы применения ключа

Это субполе «extKeyUsage» в поле «Расширения» указывает на одну или несколько сфер, в которых может использоваться сертифицированный открытый ключ, причём в дополнение или вместо основных сфер применения, представленных в субполе «keyUsage» поля «Расширения». Как правило, это субполе «extKeyUsage» будет присутствовать только в сертификатах конечных пользователей. Данное субполе имеет следующий формат:

id-ce-extKeyUsage OBJECT IDENTIFIER ::= { id-ce 37 }
ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId
KeyPurposeId ::= OBJECT IDENTIFIER

При необходимости любая организация может определять сферы применения ключа. OID, используемые для идентификации сфер применения ключа, должны в обязательном порядке назначаться в соответствие с правилами IANA или Рекомендацией ITU-T X.660.

Это субполе «extKeyUsage», в зависимости от решения издателя сертификата, может помечаться, либо как «критичное», либо как «не критичное».

Если это субполе представлено, то сертификат должен в обязательном порядке использоваться только в одной из указанных сфер применения. Если указано несколько сфер применения, то прикладной системе нет необходимости распознавать все указанные сферы применения, поскольку целевая сфера применения представлена. Прикладные системы, пользующиеся сертификатами, могут потребовать, чтобы в сертификатах было представлено субполе «extKeyUsage», в котором была указана соответствующая сфера применения ключа. Такое требование вызвано обеспечением доступности сертификатов, которыми пользуются прикладные системы.

Если УЦ включают в сертификаты субполе «extKeyUsage» для удовлетворения требований таких прикладных систем, но в то же время не желают ограничивать сферы применения ключа, то УЦ могут включать специальную субпоследовательность «KeyPurposeId» в последовательности «anyExtendedKeyUsage» в качестве дополнения к соответствующим сферам применения ключа, которые востребованы прикладными системами. Целесообразно, чтобы УЦ, придерживающиеся данного стандарта, не помечали данное субполе как «критичное», при условии наличия в нём специальной субпоследовательности «KeyPurposeId» в последовательности «anyExtendedKeyUsage». Прикладные системы, требующие наличия в сертификате соответствующей сферы применения ключа, могут удалять сертификаты, которые содержат объектный идентификатор «anyExtendedKeyUsage», но не OID, ожидаемый прикладной системой.

Если сертификат содержит два субполя «keyUsage» и «extKeyUsage» одновременно, то оба субполя должны в обязательном порядке обрабатываться независимо друг от друга, а сертификат должен в обязательном порядке использоваться только в той сфере применения, которая указана в обоих субполях. Если в обоих субполях не указана сфера применения, то сертификат не должен никогда использоваться в какой-либо иной сфере применения. Далее представлен формат кодирования последовательности «anyExtendedKeyUsage»:

anyExtendedKeyUsage       OBJECT IDENTIFIER ::=  { id-ce-extKeyUsage 0 }
id-kp                     OBJECT IDENTIFIER ::=  { id-pkix 3 }
id-kp-serverAuth          OBJECT IDENTIFIER ::=  { id-kp 1 }
                          -- Аутентификация WWW-сервера на основе TLS-протокола
                          -- Биты субполя «keyUsage», которые могут быть
                          -- установлены: «digitalSignature», «keyEncipherment» или
                          -- «keyAgreement»
id-kp-clientAuth          OBJECT IDENTIFIER ::=  { id-kp 2 }
                          -- Аутентификация WWW-клиента на основе TLS-протокола
                          -- Биты субполя «keyUsage», которые могут быть
                          -- установлены: «digitalSignature», и/или «keyAgreement»
id-kp-codeSigning         OBJECT IDENTIFIER ::=  { id-kp 3 }
                          -- Подпись загружаемого исполняемого кода
                          -- Биты субполя «keyUsage», которые могут быть
                          -- установлены: «digitalSignature»
id-kp-emailProtection     OBJECT IDENTIFIER ::=  { id-kp 4 }
                          -- Защита электронной почтовой службы
                          -- Биты субполя «keyUsage», которые могут быть
                          -- установлены: «digitalSignature», «nonRepudiation»
                          -- и/или («keyEncipherment» или «keyAgreement»)
id-kp-timeStamping        OBJECT IDENTIFIER ::=  { id-kp 8 }
                          -- Привязка результата вычисления хэш-функции
                          -- по последовательности данных к времени
                          -- Биты субполя «keyUsage», которые могут быть
                          -- установлены: «digitalSignature» и/или «nonRepudiation»
id-kp-OCSPSigning        OBJECT IDENTIFIER ::=  { id-kp 9 }
                          -- Подпись OCSP-ответов (Online Certificate Status
                          -- Protocol, интерактивный протокол определения
                          -- состояния сертификата)
                          -- Биты субполя «keyUsage», которые могут быть
                          -- установлены: «digitalSignature» и/или «nonRepudiation»

Страница 38 из 108

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