В чем разница между расширениями x.509 V3 Basic Constraints и Key Usage для создания сертификата CA?

Эти два действия, похоже, делают то же самое:

  • используя расширение Основные ограничения в сертификате X.509, чтобы указать, что это сертификат ЦС и
  • с помощью расширения Key Usage, например. чтобы показать, что открытый ключ может использоваться для подписания сертификата.

В чем разница между этими расширениями?
Выполняют ли они одну и ту же цель или дополняют друг друга?

Ответы

Ответ 1

"Использование ключа" определяет, что можно сделать с ключом, содержащимся в сертификате. Примерами использования являются: шифрование, подпись, подписывание сертификатов, подписание CRL.

"Основные ограничения" определяет, является ли объект сертификатов центром сертификации, которому разрешено выдавать дочерние сертификаты.

Для сертификата, который может использоваться для подписания сертификатов, информация в некотором смысле дублируется:

  • X509v3 Основные ограничения: CA: ИСТИНА --- Может подписывать сертификаты
  • X509v3 Использование ключа: Знак сертификата ключа --- Может подписывать сертификаты

Но "Основные ограничения" также укажут максимальную глубину действительной цепи сертификации.

Хотя он дублируется, вам нужно указать оба варианта, в соответствии с RFC 3280 --- X.509. Это соответствующий абзац из RFC (стр. 29):

Бит ключаCertSign утверждается, когда открытый ключ объекта используется для проверки подписи на сертификатах открытого ключа. Если бит keyCertSign утверждается, то бит cA в базовом расширение ограничений (раздел 4.2.1.10) ДОЛЖНО также быть подтверждено.

Ответ 2

Использование ключа описывает предполагаемые цели сертификата.

Расширение Basic Constraints описывает, насколько глубоко может быть цепочка сертификатов, в которой есть сертификат. Другими словами, это расширение используется ЦС для ограничения активности их суб-ЦС при выдаче сертификата суб-ЦС. Если CA верхнего уровня получает sub-CA, он позволяет суб-CA выдавать сертификаты конечного пользователя, но не позволяет суб-CA иметь собственные суб-CA.