Могу ли я подписать запрос сертификата для третьего уровня с помощью закрытого ключа домена второго уровня? - PullRequest
0 голосов
/ 22 января 2020

Предположим, у меня есть обычный (не подстановочный) SSL-сертификат для example.com.

Я хочу стать центром сертификации для всех поддоменов example.com. Например, я хочу отправить запрос на сертификат для wiki.example.com и подписать его закрытым ключом example.com, который был подписан Comodo / Thawte / любой другой.

Могут ли браузеры рассмотреть цепочку сертификатов wiki.example. com -> example.com -> Оттепель действительная?

1 Ответ

0 голосов
/ 22 января 2020

Нет . Что ж, вы можете использовать закрытый ключ вашего сертификата example.com для подписи сертификата для wiki.example.com и установить сертификат example.com в качестве «эмитента» для wiki.example.com, но все браузеры будут отклонять такую ​​цепочку сертификатов.

Причина в том, что каждый сертификат имеет поля «Использование ключа». Ваш сертификат для «example.com» будет иметь следующие разрешенные значения:

X509v3 Extended Key Usage: 
        TLS Web Server Authentication, TLS Web Client Authentication

Все разумные валидаторы SSL должны отклонять этот сертификат как сертификат CA, поскольку сертификат CA должен иметь значение

X509v3 Key Usage: critical
            Certificate Sign, CRL Sign

UPDATE

Как упоминалось @ dave_thompson_085, сертификаты должны иметь поле "Basi c Constraints", которое содержит логический флаг "CA". Битовые флаги «KeyUsage.keyCertSign» («Использование ключа X509v3: Знак сертификата» в выводе Openssl) и «BasicConstraints.CA» («X509v3 Basi c Ограничения: CA» в выводе Openssl) устанавливаются вместе (см. RF C 5280, раздел 4.2.1.3 ).

Закрытый ключ для example.com может использоваться для промежуточного CA только в том случае, если установлены оба бита.

...