Настройка httpS для нескольких доменов

Мне нужно настроить https для нескольких доменов xxxx.com xxxx.net (с одним общим сертификатом)

CA, где мы покупаем сертификат, просим создать запрос на подпись сертификата (CSR), но когда я генерирую его с помощью openssl, он запрашивает только одно имя

как сделать один CSR для нескольких доменов?


person Pydev UA    schedule 15.12.2011    source источник
comment
Немного погуглив я нашел это.   -  person Linus Kleen    schedule 15.12.2011
comment
@LinusKleen: Приведет ли это к созданию одного сертификата с несколькими доменами? Это вообще возможно? Или вы получите несколько сертификатов (используя один и тот же закрытый ключ)?   -  person Thilo    schedule 15.12.2011
comment
Это возможно, @Thilo. Это единый сертификат, субъект которого содержит несколько CN.   -  person Linus Kleen    schedule 15.12.2011
comment
Все браузеры такие? Есть ли примеры в дикой природе?   -  person Thilo    schedule 15.12.2011
comment
@Thilo Да, например, на на моем сайте есть такой. Многодоменные сертификаты не так уж новы и поддерживаются всеми основными браузерами.   -  person Linus Kleen    schedule 15.12.2011
comment
Прохладно. Превратите все эти разговоры в ответ, пожалуйста.   -  person Thilo    schedule 15.12.2011
comment
@LinusKleen: на вашем сайте они также есть в SAN, где они и должны быть. (CN или CN игнорируются при наличии SAN.)   -  person Bruno    schedule 15.12.2011


Ответы (1)


Избегайте сертификатов с несколькими CN (как предлагается в комментариях), это не соответствует спецификациям (RFC 2818). и RFC 6125) говорят, что это должно работать, и, хотя это может работать в некоторых клиентских приложений, как правило, это не удается. Из RFC 2818:

Если присутствует расширение subjectAltName типа dNSName, оно ДОЛЖНО использоваться в качестве идентификатора. В противном случае ДОЛЖНО использоваться (наиболее конкретное) поле Common Name в поле Subject сертификата. Хотя использование общего имени является существующей практикой, оно устарело, и центрам сертификации рекомендуется использовать вместо него имя dNSName.

Вместо этого создайте сертификаты (или CSR) с несколькими альтернативными именами субъекта (SAN).

Если вы используете OpenSSL, отредактируйте свой openssl.cnf (или отредактируйте копию) и установите эти свойства в соответствующих разделах ([req] и [ v3_req ]):

[req]
req_extensions = v3_req

[v3_req]
subjectAltName=DNS:www.example1.com,DNS:www.example2.com,DNS:www.example3.com

Также есть хороший способ использовать для этого переменную окружения (вместо исправления в файле конфигурации) здесь: http://www.crsr.net/Notes/SSL.html

Вы также можете захотеть иметь один из них (любой) в CN.

(Вас также может заинтересовать этот ответ.)

person Bruno    schedule 15.12.2011
comment
FTR, если вы используете XCA, находится в разделе Extensions › X509v3 Subject Alternative Name при создании сертификата. Спасибо! - person Yajo; 20.03.2017