В чем разница между X. 509 V3 расширения Основные Ограничения и использование ключа для создания сертификата CA?

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

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

в чем разница между этими расширениями?
Служат ли они одной цели или дополняют друг друга?

2 ответов


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

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

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

  • x509v3 Основные Ограничения: CA: TRUE - - - может подписать сертификаты
  • x509v3 использование ключа: Ключ сертификат знак - - - может подписать сертификаты

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

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

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


использование ключа описывает назначение сертификата.

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