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

81

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

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

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

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

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

Большое спасибо.

josswinn
источник

Ответы:

72

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

Для *.example.comсертификата

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

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

Канонический ответ должен быть в 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 и все другие имена, которые могут вам понадобиться).

Freiheit
источник
13

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

Шейн Мэдден
источник
6

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

user2001798
источник
8
Это не относится к Менеджеру сертификатов AWS с 2017-09-20.
pho3nixf1re
Не существует «корневого» домена для сертификата SAN, который может защитить несколько корневых доменов.
Еж
-3

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

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

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

skilledpeas
источник