Basic Constraints задаёт роль CA и допустимую глубину, EKU — назначения ключа для приложений. Ни один из этих признаков не заменяет точное имя сервиса.
Основные ограничения сертификата
Определение
Основные ограничения сертификата — расширение X.509, которое указывает, выступает ли субъект центром сертификации (CA), и может ограничивать число промежуточных CA ниже него.
Также ищут: Basic Constraints · CA boolean extension · pathLenConstraint · Basic Constraints extension
Зачем это знать
Ограничение глубины позволяет делегировать выпуск конечных сертификатов без ещё одного обычного промежуточного CA. Его проверяют вместе с ролью CA, Key Usage и ограничениями имён.
Карта понятия
Что подтверждено
Расширение Basic Constraints содержит логический признак cA и необязательное поле pathLenConstraint, ограничивающее глубину цепочки подчинённых CA.
Граница применимости: Расширение Basic Constraints по RFC 5280.
Если сертификат CA содержит Key Usage, в нём также должен быть разрешён keyCertSign; Basic Constraints и Key Usage проверяют совместно.
Граница применимости: Совместная проверка расширений, разрешающих работу CA.
Для CA с pathLenConstraint=0 допустим конечный сертификат ниже него, но недопустим ещё один промежуточный CA с различающимися именами субъекта и издателя. Конечный сертификат в этот счётчик промежуточных CA не входит.
Граница применимости: RFC 5280, раздел 4.2.1.9: считаются промежуточные CA с разными именами субъекта и издателя; остальные условия пути должны выполняться независимо.
Если Basic Constraints отсутствует либо cA не установлен, открытый ключ этого сертификата нельзя использовать для проверки подписей выданных им сертификатов. Один разрешённый keyCertSign это не исправляет.
Граница применимости: Сертификат CA в проверяемом пути по RFC 5280; не описывает отдельное локальное задание якоря доверия.
pathLenConstraint ограничивает число определённых промежуточных CA, а Name Constraints — допустимые пространства имён ниже CA. Малая глубина пути сама не ограничивает его выпуск одним доменом.
Граница применимости: Сопоставление расширений RFC 5280 и отдельного сопоставления имени конечного сервиса по RFC 9525.
Не путать
Basic Constraints — одно ограничение в сертификате; проверка пути применяет его вместе с подписями и остальными правилами выбранного пути.
Что проверить
- Проверьте наличие Basic Constraints.
- Сверьте признак cA.
- При наличии Key Usage проверьте keyCertSign.
- Считайте только нужные промежуточные CA.
- Не включайте конечный сертификат в pathLenConstraint.
- Проверьте ограничения имён отдельно.
- При pathLenConstraint=0 не добавляйте промежуточный CA с разными именами субъекта и издателя.
Первоисточники
- Service Identity in TLS
Задаёт construction и verification reference identifiers для TLS services; server identity находится в subjectAltName, не в commonName.
Утверждения: 05
- Recommendation for Key Management: Part 2 — Best Practices for Key Management Organizations
Описывает organizational key-management practices, CA/RA roles, PKI operations и certification path building.