Поддерживает ли Chrome ограничения разрешенных имен X509v3?

Я пытаюсь установить разрешенные ограничения имени для сертификата частного ЦС. Например, у меня есть следующие ограничения на мой корневой сертификат

X509v3 Name Constraints: critical
     Permitted:
       DNS:.mytestdomain.local
       DNS:mytestdomain.local

. Я выпустил сертификат для другого домена anothertestdomain.local . Для этого домена заданы как общее имя, так и альтернативные имена субъектов. При тестировании проверки этого сертификата и OpenSSL, и Firefox терпят неудачу с допустимым нарушением поддерева, как и ожидалось. Однако Chrome принимает этот сертификат. Ожидается ли это в Chrome?

Я тестирую Chromium в Linux.

2
задан 17 April 2020 в 23:26
2 ответа

Вы можете использовать BetterTLS , чтобы проверить поддержку ограничений имени различными клиентами. Это открытый исходный код, созданный командой Netflix .

BetterTLS - это набор тестов для HTTPS-клиентов, реализующий проверку расширения сертификата Name Constraints.

Он работает как для браузера, так и для клиентов, не использующих браузер. (например, Java и Python).

1
ответ дан 4 January 2021 в 08:05

Согласно этой ошибке Chromium, вы столкнулись с предполагаемая функциональность. https://bugs.chromium.org/p/chromium/issues/detail?id=1072083

Похоже, вы помещаете nameConstraints в корень, то есть не поддерживается не только в Chrome, но и во многих основных реализациях PKI. Это потому, что RFC 5280 не требует такой поддержки; импортированный корень сертификаты рассматриваются как якоря доверия (то есть только Субъект и SPKI, а не другие расширения).

Если вы наложите ограничения на промежуточное звено, это должно работать как предназначена. Журнал net-internals и полная цепочка помогут подтвердить, в в этом случае это может быть WontFix / WorkingAsIntended.

Я не проверял ни то, ни другое, но, очевидно, функциональность, которую вы хотите, работает (или работаете) в Chromium на MacOS, но похоже, что это недолго.

Я думаю, что меня сбило с толку, так это то, что стек SSL в macOS, последний OpenSSL и последний стабильный Firefox соблюдали nameConstraints в корневом сертификате

Да, мы знаем о несогласованности между платформами, и мы находимся в процессе согласования платформ Chrome с Chrome на Поведение Linux (то есть обработка корневого сертификата как якоря доверия). Изменение Firefox было недавним изменением, частично мотивированным общедоступный запрос CA (консорциум греческих университетов)

1
ответ дан 4 January 2021 в 08:05

Теги

Похожие вопросы