Подтвердить что ты не робот

Создание CSR для многодоменного

Как создать CSR для многодоменного.

Я обнаружил, что генерация CSR для одного домена выглядит следующим образом:

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

Но как мне создать многодоменную CSR

4b9b3361

Ответ 1

Для сертификата X.509 для поддержки нескольких доменов, он должен использовать несколько записей DNS альтернативного имени субъекта в соответствии с RFC 2818 (HTTP over TLS) (или RFC 6125):

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

Соответствие выполняется с использованием правил соответствия, указанных в [RFC2459]. Если в одном экземпляре присутствует более одного идентификатора данного типа сертификат (например, более одного имени dNSName, совпадение в любом из множества считается приемлемым.)

Как описано в этом документе (кроме того, я бы использовал -des3 тоже для команды genrsa, чтобы защитить закрытый ключ):

  • Сделайте копию исходного файла openssl.cnf (оригинал, вероятно, находится где-то под /etc в Linux).
  • Отредактируйте его, чтобы добавить req_extensions = v3_req в раздел [ req ].
  • Отредактируйте его, чтобы добавить subjectAltName=DNS:www.example.com,DNS:www.other-example.com (одна запись DNS: для каждого требуемого имени хоста) в разделе [ v3_req ].
  • Сделайте OpenSSL таким конфигурационным файлом. Назовите его OPENSSL_CONF=/path/to/your/openssl.cnf openssl req ...

Говоря об этом, я не стал бы слишком беспокоиться о настройке расширения в CSR. Любой хороший ЦС должен игнорировать все, что вы установили в CSR, и устанавливать только те, которые они фактически подтвердили при выдаче фактического сертификата. Они с радостью заменят любое RDN в вашем Subject DN (например, Country, Organization,...), а также любое расширение (SAN или Key Usage). Во-первых, если они допускают какое-либо продление по запросу в КСО заявителем, это будет угрозой безопасности, поскольку некоторые заявители действительно могут получить что-либо. Во-вторых, как они зарабатывают дополнительные деньги, взимая плату за установку нескольких бит здесь и там (например, расширение подписи кода): они будут получать только то, что вы заплатили за сертификат. Я понимаю, однако, что вы можете захотеть поместить все имена, которые вы запрашиваете в своей CSR, просто чтобы быть уверенным.