Вопрос: Должен ли подстановочный SSL-сертификат защищать как корневой домен, так и поддомены?


Я задаю этот вопрос, потому что Comodo говорит мне, что подстановочный сертификат для * .example.com также будет защищать корневой домен example.com. Таким образом, с одним сертификатом оба my.example.com и example.com защищены без предупреждения из браузера.

Однако это не относится к сертификату, который мне предоставлен. Мои поддомены защищены и не дают ошибок, но корневой домен вызывает ошибку в браузере, заявив, что идентификатор не может быть проверен.

Когда я сравниваю этот сертификат с другими подобными сценариями, я вижу, что в сценариях, которые работают без ошибок, Альтернативное имя субъекта (SAN) перечисляет как * .example.com, так и example.com, тогда как недавний сертификат Comodo содержит только *. example.com как общее имя и NOT example.com в качестве альтернативного имени субъекта.

Может ли кто-либо подтвердить / уточнить, что корневой домен должен быть указан в данных SAN, если он также должен быть защищен правильно?

Когда я прочитал это: http://www.digicert.com/subject-alternative-name.htm Кажется, что SAN должен перечислить как для работы так, как мне нужно. Каков ваш опыт?

Огромное спасибо.


69
2017-09-12 16:12


Источник




Ответы:


Существует некоторая несогласованность между реализациями SSL в отношении того, как они соответствуют подстановочным знакам, однако для этого вам потребуется корень в качестве альтернативного имени для работы с большинством клиентов.

Для *.example.com CERT,

  • a.example.com должен пройти
  • www.example.com должен пройти
  • example.com не должен проходить
  • a.b.example.com может пройти в зависимости от реализации (но, вероятно, нет).

По существу, стандарты говорят о том, что * должен соответствовать одному или нескольким неточным символам, но некоторые реализации допускают точку.

Канонический ответ должен быть в RFC 2818 (HTTP Over TLS):

Согласование выполняется с использованием правил соответствия, указанных в     [RFC2459]. Если в одном экземпляре присутствует более одного идентификатора данного типа     сертификат (например, более одного имени dNSName, совпадение в любом     множества считается приемлемым.) Имена могут содержать подстановочный знак     символ *, который считается совпадающим с каким-либо одним доменным именем     компонент или фрагмент компонента. Например., *.a.com соответствует foo.a.com, но     не bar.foo.a.com. f*.com соответствует foo.com, но не bar.com.

RFC 2459 говорит:

  • Символ подстановки «*» МОЖЕТ использоваться как самое левое имя   компонента в сертификате. Например, *.example.com бы   сопоставьте a.example.com, foo.example.com и т. д., но не совпадают   example.com.

Если вам нужен сертификат для работы на example.com, www.example.com и foo.example.com, вам нужен сертификат с subjectAltNames, чтобы у вас были «example.com» и «* .example.com» (или пример .com и все другие имена, которые могут вам понадобиться).


64
2017-09-12 16:33





Вы правы, корневой домен должен быть альтернативным именем для проверки.


11
2017-09-12 16:34





Каждый поставщик SSL, который я когда-либо использовал, автоматически добавит корневой домен в качестве альтернативного имени субъекта в сертификат подстановочного SSL, поэтому DOMAIN.COM будет автоматически работать с сертификатом wildcard * .DOMAIN.COM.


4
2018-04-22 22:34



Это не относится к AWS Certificate Manager по состоянию на 2017-09-20. - pho3nixf1re
Нет корневого домена для SAN-сертификата, который может защитить несколько корневых доменов. - Jez


Сертификаты подстановочных знаков идеально сгенерированы для * .domain.com Чтобы защитить ваши поддомены и домены этим сертификатом, вам нужно установить тот же сертификат на серверах, указывающих на эти домены.

Например, у вас есть подстановочный сертификат для * .test.com one.test.com - сервер 1 test.com - сервер 2

вам необходимо установить этот сертификат на сервер 1 и на сервер 2.


-2
2018-04-14 08:17