Подготовка следующего сертификата
Подготовка следующего сертификата
Сначала выполняется некоторая простая проверка сертификата УЦ. Затем обновляются переменные состояния, для того чтобы они могли отражать значения полей дополнений сертификата. Существует несколько дополнений, которые встречаются только в сертификатах УЦ; они используются для задания ограничений для подчиненных сертификатов. Обновление переменных состояния налагает ограничения на подчиненные сертификаты, когда выполняется последующая базовая проверка сертификатов.
Проверка того, что сертификат является сертификатом УЦ. Обычно эта информация указывается в дополнении Basic Constraints (основные ограничения). Сертификат должен содержать открытый ключ подписи. Проверяется, действительно ли это так и разрешает ли дополнение Key Usage (назначение ключа) применять ключ для подписания сертификатов.
Проверка длины пути сертификации. Проверяется, не была ли превышена максимальная длина пути сертификации.
Корректировка переменных состояния верификации цифровой подписи. В поле информации об открытом ключе субъекта сертификата устанавливаются значения открытого ключа, параметров, связанных с открытым ключом, и название алгоритма цифровой подписи. Если поле информации об открытом ключе субъекта в данном сертификате не содержит никаких параметров открытого ключа, а предыдущий сертификат содержит открытый ключ, связанный с тем же самым алгоритмом подписи, то сохраняются параметры открытого ключа предыдущего сертификата. То есть эти параметры как бы "передаются по наследству" данному сертификату из предыдущего сертификата.
Корректировка переменных состояния цепочки имен и длины пути сертификации. В поле отличительного имени субъекта сертификата устанавливается отличительное имя ожидаемого издателя сертификата. Если отличительное имя издателя сертификата и отличительное имя субъекта сертификата совпадают, то сертификат является самоподписанным или самоизданным.
Если сертификат не является самоизданным, то переменная состояния - счетчик сертификатов - увеличивается на единицу. То, что самоизданные сертификаты не подсчитываются и, следовательно, не увеличивают длину пути сертификации, позволяет УЦ легко перейти от старого ключа подписи к новому, при этом все выпущенные им для конечных субъектов сертификаты сохраняют свою действительность.
Соответствие политик. В дополнение Policy Mapping (соответствие политик) не рекомендуется включать специальный идентификатор "любая политика". Если в поле этого дополнения появляется идентификатор "любая политика", то путь сертификации не признается валидным. Если в поле этого дополнения появляются идентификаторы других политик, то переменные состояния соответствия политик корректируются с учетом преобразования определенной политики домена издателя в определенную политику домена субъекта.
Корректировка ограничений политики. Переменные состояния ограничений политики принимают значения в результате анализа дополнений, характеризующих политики применения сертификатов, образующих путь сертификации. Если в дополнении сертификата содержатся разрешенные ветви (поддеревья) иерархии ограничений, то переменные состояния принимают значения, полученные в результате пересечения разрешенных поддеревьев, отображенных в дополнении данного сертификата, и разрешенных поддеревьев иерархии ограничений предыдущих сертификатов. Если в дополнении сертификата содержатся запрещенные поддеревья иерархии ограничений, то переменные состояния принимают значения, полученные в результате объединения запрещенных поддеревьев, отображенных в дополнении данного сертификата, и запрещенных поддеревьев иерархии ограничений предыдущих сертификатов.
Обработка дополнительных критичных дополнений. Распознаются и обрабатываются любые дополнительные критичные дополнения, представленные в сертификате. Если какое-либо критичное дополнение не удается распознать, то путь сертификации не считается валидным.
Если хотя бы одна из проверок при подготовке следующего сертификата заканчивается неудачно, то путь сертификации не признается валидным. Если все проверки завершаются успешно, то происходит переход к следующему сертификату в последовательности и выполняется базовый контроль сертификата.