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.2. Идентификатор ключа владельца сертификата «subjectKeyIdentifier»

Это субполе в поле «Расширения» указывает на средства идентификации сертификатов, которые содержат соответствующий открытый ключ.

В целях упрощения формирования МС данное субполя должно в обязательном порядке присутствовать во всех сертификатах, изданных УЦ, придерживающимися данного стандарта, т.е., во всех сертификатах, включающих субполе «Basic constraints» (основные ограничения) поля «Расширения», в которых флаг «cA» (УЦ) имеет значение «TRUE» («верно»). В сертификатах УЦ, придерживающихся данного стандарта, значение субполя «subjectKeyIdentifier» должно в обязательном порядке извлекаться из последовательности «keyIdentifier» субполя «authorityKeyIdentifier», входящего в состав тех сертификатов, которые были изданы владельцем данного сертификата. Прикладные системы, не требующие проверки таких идентификаторов ключей, сравнивают их при подтверждении подлинности МС.

В сертификатах УЦ значение субполя «subjectKeyIdentifier» должно формироваться из открытого ключа, используемого для проверки подписи сертификата, или способом, используемым для генерирования уникальных чисел. Существуют два общих способа формирования идентификаторов ключей из открытого ключа, а именно:

  1. Последовательность «keyIdentifier» формируется из 160-битового результата вычисления хэш-функции стандарта SHA-1 по битовой последовательности (BIT STRING) субполя «subjectKeyIdentifier» (исключая биты последовательностей «tag», «length» и другие не используемые биты).

  2. Последовательность «keyIdentifier» формируется из 4-битового поля со значением «0100», за которым следует наименее значимые 60 бит результата вычисления хэш-функции стандарта SHA-1 по битовой последовательности (BIT STRING) субполя «subjectPublicKey» (исключая биты последовательностей «tag», «length» и другие не используемые биты).

Кроме этого, могут использоваться и другие методы формирования уникальных чисел.

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

В сертификатах конечных субъектов идентификаторы ключей владельцев сертификатов должны формироваться на основе открытого ключа. Ранее были рассмотрены два общих способа формирования идентификаторов ключей из открытого ключа.

Если идентификатор ключа не был сформирован заранее, то данный стандарт рекомендует использовать один из указанных выше способов формирования последовательности «keyIdentifier» или использовать аналогичный способ, в котором используется иной алгоритм вычисления хэш-функции. Если же идентификатор ключа был сформирован заранее, то УЦ целесообразно использовать этот идентификатор.

УЦ, придерживающиеся данного стандарта, обязаны помечать данное субполе как «некритичное» («non-critical»).

id-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::=  { id-ce 14 }

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