Как получить ssl с подстановочными знаками для нескольких доменов от Let's encrypt?

У меня есть сервер, который отвечает на такие домены, как abcexample.com . a b и c являются динамическими частями, и я хочу покрыть их все одним сертификатом SSL.

Я создал подстановочный сертификат здесь для *. Example.com . Но теперь у меня ошибка ERR_CERT_COMMON_NAME_INVALID .

В то же время c.example.com работает хорошо.

Могу ли я каким-то образом выдать сертификат для нескольких вложенных субдоменов?

1
задан 3 April 2018 в 02:06
2 ответа

Как указал @Zoredache, подстановочные знаки идут только той глубины, для которой они созданы. Если у вас есть подстановочный знак для *. Example.com , то допустимы только домены в этом домене [*]. Example.com . Если вам нужен двухуровневый сертификат, вам нужно будет создать многослойный сертификат, охватывающий эти домены, например *. A.example.com . Я не могу сказать, что когда-либо слышал о многоуровневом сертификате с подстановочными знаками, поэтому вам, вероятно, потребуется создать несколько подстановочных знаков для каждого субдомена.

Вы можете создать один сертификат, который может выполнить это с помощью использование альтернативных имен субъектов (SAN). Просто взгляните на сертификат stackoverlow.com, и это безумное и безумное развертывание;)

3
ответ дан 3 December 2019 в 16:25

Нет, вы не можете этого сделать. Согласно RFC 2828 , шаблоны сертификатов SSL могут использоваться для сопоставления одного компонента доменного имени, а не нескольких компонентов. Это было исправлено и дополнительно разъяснено в RFC 6125 , где в разделе 5.2 говорится, что:

   o  The ’*’ (ASCII 42) wildcard character is allowed in the dNSName of
      the subjectAltName extension (and in common name, if used to store
      the host name), but only as the left-most (least significant) DNS
      label in that value.  This wildcard matches any left-most DNS
      label in the server name.  That is, the subject *.example.com
      matches the server names a.example.com and b.example.com, but does
      not match example.com or a.b.example.com.  Implementations MUST
      support wildcards in certificates as specified above, but MAY
      provide a configuration option to disable them.

Другими словами, использование нескольких подстановочных знаков не допускается, и любой подстановочный знак должен находиться в самом левом компоненте имени DNS . Это повторяется в разделе 6.4.3, определяя, как клиенты должны вести себя, когда они сталкиваются с сертификатами с подстановочными знаками в них - любые подстановочные знаки, кроме самого левого компонента имени домена, должны приводить к тому, что сертификат не соответствует имени домена, которое вы его используете. за. В частности, первый пункт в 6.4.3:

   1.  The client SHOULD NOT attempt to match a presented identifier in
       which the wildcard character comprises a label other than the
       left-most label (e.g., do not match bar.*.example.net).

Итак, даже если бы вы могли заставить Letsencrypt создавать эти сертификаты, посетители вашего веб-сайта все равно не приняли бы их.

5
ответ дан 3 December 2019 в 16:25

Теги

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