Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В принципе, и для ваших нужд (которые запустили весь этот поток) ваш подстановочный сертификат должен быть указан как как корневой, так и как подстановочные знаки первого уровня:

"example.com, * .example.com"

Таким образом, один подстановочный сертификат будет охватывать как корневой домен (example.com), так и любые поддомены первого уровня (sub1.example.com, sub2.example.com, ...)

Сертификат в форме «* .example.com» ДОЛЖЕН иметь субдоменное имя. Таким образом, корневой домен явно исключен, поскольку звездочка не принимает NULL как допустимое имя.

НАКОНЕЧНИК: Свободно Центр сертификации Let's Encrypt (LE) позволяет это. Не все центры сертификации придерживаются многоуровневых подстановочных знаков. Вы всегда должны уточнять у своего провайдера CA.

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

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

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