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)
Авторы: , , , , , ,
Перевод: Мельников Дмитрий Анатольевич

6.1.2. Фаза инициализации

В этой фазе формируются одиннадцать следующих переменных состояния на основе девяти входных параметров:

  1. Переменная «valid_policy_tree» (дерево допустимых политик)

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

    Каждый узел в дереве допустимых политик («valid_policy_tree») включает три информационных объекта: приемлемую политику, набор связанных с политикой определителей и набор из одной или нескольких параметров ожидаемой политики. Если узел имеет глубину x, то компоненты узла имеют следующую семантику:

    1. Компонент «valid_policy» (допустимая политика) представляет собой одиночный OID политики, указывающий на приемлемую политику для маршрута длиной x.

    2. Компонент «qualifier_set» (набор определителей) представляет собой набор определителей политики, связанных с приемлемой политикой, указанной в сертификате x.

    3. Компонент «expected_policy_set» (совокупность ожидаемых политик) содержит один или несколько OID политики, которые могли бы удовлетворять этой политике, указанной в сертификате x+1.

Исходное значение входного параметра «valid_policy_tree» представляет собой одиночный узел с компонентом «valid_policy» (допустимая политика), имеющим значение «anyPolicy», пустым компонентом «qualifier_set» и компонентом «expected_policy_set», имеющим одно значение «anyPolicy». Считается, что этот узел имеет глубину ноль («zero»).

На рис. 3 представлено графическое изображение исходного состояния дерева «valid_policy_tree». В дальнейшем в течение обработки маршрута будет использоваться именно этот формат с целью определения изменений в дереве «valid_policy_tree».

+----------------+
|   anyPolicy    |   <---- valid_policy
+----------------+
|       {}       |   <---- qualifier_set
+----------------+
|  {anyPolicy}   |   <---- expected_policy_set
+----------------+

Рис. 3. Начальное значение переменной состояния дерева «valid_policy_tree»
  1. Переменная «permitted_subtrees» (разрешённые субдеревья)

    Совокупность корневых имён для каждого формата (типа) наименований (например, уникальные имена в соответствие с Рекомендацией ITU-T X.500, адреса электронной почтовой службы или IP-адреса) определяет группу субдеревьев, в рамках которых каждый сертификат маршрута сертификации содержит все имена владельцев, которая должна отбрасываться, в обязательном порядке. Эта переменная включает совокупность имён для каждого формата, а исходным значением является входной параметр «initial-permitted-subtrees».

  2. Переменная «excluded_subtrees» (запрещённые субдеревья)

    Совокупность корневых имён для каждого формата (типа) наименований (например, уникальные имена в соответствие с Рекомендацией ITU-T X.500, адреса электронной почтовой службы или IP-адреса) определяет группу субдеревьев, в рамках которых последующие сертификаты маршрута сертификации не содержат имени владельца, которая может отбрасываться. Эта переменная включает совокупность имён для каждого формата, а исходным значением является входной параметр «initial-excluded-subtrees».

  3. Переменная «explicit_policy» (явная политика)

    Целое число, которое указывает, требуется ли не нулевое дерево «valid_policy_tree». Целое число определяет количество не само-изданных сертификатов, которые должны быть обработана, ещё до того, как это требование будет «выставлено». Когда требование установлено, данная переменная может быть уменьшена, но не может быть увеличена. Т.е., если сертификат маршрута требует не нулевого дерева «valid_policy_tree», то в последующем сертификат не может «снять» это требование. Если параметр «initial-explicit-policy» установлен, то начальное значение равно 0, в противном случае, начальное значение равно n+1.

  4. Переменная «inhibit_anyPolicy» (запрет любой политики)

    Целое число, которое указывает, совпал ли идентификатор политики «anyPolicy» при сравнении. Это целое число определяет количество не само-изданных сертификатов, которые должны быть обработаны, прежде чем будет обработан OID в субполе «anyPolicy», если оно заявлено в сертификате, отличающемся от промежуточного само-подписанного сертификата, то оно игнорируется. Когда эта переменная установлена, тогда она может снижена, но не может быть увеличена. Т.е., если сертификат маршрута запрещает обработку субполя «anyPolicy», то последующий сертификат маршрута не может её разрешить. Если параметр «initial-any-policy-inhibit» установлен, то начальное значение равно 0, в противном случае, начальное значение равно n+1.

  5. Переменная «policy_mapping» (отображение политики)

    Целое число, которое указывает, разрешено ли отображение политик. Это целое число определяет количество не само-изданных сертификатов, которые должны быть обработаны, прежде чем отображение политик будет запрещено. Когда эта переменная установлена, тогда она может снижена, но не может быть увеличена. Т.е., если сертификат маршрута устанавливает, что отображение политик запрещено, то этот запрет не может быть аннулирован последующим сертификатом. Если параметр «initial-policy-mapping-inhibit» установлен, то начальное значение равно 0, в противном случае, начальное значение равно n+1.

  6. Переменная «working_public_key_algorithm» (действующий алгоритм для открытого ключа)

    Алгоритм вычисления цифровой подписи, используемый при проверке подписи сертификата. Эта переменная загружается из доверенного алгоритма для открытого ключа, предоставляемого в рамках данных об ДЗУЦ.

  7. Переменная «working_public_key» (действующий открытый ключ)

    Открытый ключ, используемый для проверки подписи сертификата. Эта переменная загружается из доверенного открытого ключа, предоставляемого в рамках данных об ДЗУЦ.

  8. Переменная «working_public_key_parameters» (параметры действующего открытый ключ)

    Параметры, касающиеся текущего открытого ключа, которые могут потребоваться для проверки подписи (в зависимости от криптоалгоритма). Эта переменная загружается из параметров доверенного открытого ключа, предоставляемых в рамках данных об ДЗУЦ.

  9. Переменная «working_issuer_name» (действующее имя издателя сертификата)

    Уникальное имя издателя, ожидаемое в следующем сертификате цепочки сертификатов. Эта переменная загружается из доверенного имени издателя сертификата, предоставляемого в рамках данных об ДЗУЦ.

  10. Переменная «max_path_length» (максимальная длина маршрута)

    Это целое число, устанавливаемое в значение n, уменьшается после обработки каждого не само-изданного сертификата маршрута, и оно может быть уменьшено до значения, указанного в последовательности «pathLenConstraint» (ограничение на длину маршрута) субполя «basicConstraints» поля «Расширения» сертификата УЦ.

По завершении фазы инициализации, алгоритм переходит в фазу основной обработки сертификата.

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