Перейти к содержимому
Панель клиента

Что такое CSR и как создать запрос на подпись SSL-сертификата

Что такое CSR и как создать запрос на подпись SSL-сертификата

CSR (Certificate Signing Request) означает запрос на подпись сертификата. Он содержит открытый ключ и сведения, необходимые для выпуска SSL/TLS-сертификата. Создать запрос можно в панели хостинга, через OpenSSL на сервере или в браузере. Выберите тот способ, при котором сможете сохранить закрытый ключ и затем установить сертификат в нужную службу.

CSR, закрытый ключ и сертификат: три разных файла

Файл Что в нем Куда передавать
CSR, обычно .csr Открытый ключ, имена и запрошенные сведения о владельце Центру сертификации или в форму заказа сертификата.
Закрытый ключ, обычно .key Секретная часть пары ключей Хранить под своим контролем; установить в нужную службу по защищенному каналу.
Сертификат, обычно .crt или .pem Открытый ключ и имена, заверенные центром сертификации Установить вместе с подходящим ключом и промежуточными сертификатами.

Расширение файла само по себе ничего не доказывает. CSR в текстовом формате начинается строкой BEGIN CERTIFICATE REQUEST, закрытый ключ содержит PRIVATE KEY. Открытый ключ из CSR связан с конкретным закрытым ключом. Центр сертификации проверяет запрос и права на имена; наличие CSR еще не подтверждает эти права.

Как создать CSR в панели хостинга или IIS

  1. Откройте раздел SSL/TLS-сертификатов именно того сайта, где планируете установку. Найдите создание запроса CSR. Если сертификатом уже управляет автоматизация, сначала уточните, нужен ли ручной запрос вообще.
  2. Укажите домен и другие нужные имена, если панель позволяет их задать. Для сертификата с проверкой организации заполните ее данные по требованиям выбранного центра, а не произвольным текстом.
  3. Создайте запрос и сохраните CSR. Ключ обычно остается в панели или хранилище сервера: проверьте это до отправки запроса. После выпуска завершайте установку там, где доступен именно этот ключ.

Например, в Plesk нужные действия находятся в разделе домена SSL/TLS Certificates; порядок и ограничения описаны в инструкции Plesk. Генерация SAN-запросов доступна не во всех интерфейсах, поэтому проверьте список имен в готовом CSR.

В Windows/IIS запрос создают на узле сервера через Server Certificates → Create Certificate Request. Это путь IIS, а не команда Linux; ключ сохраняется в хранилище Windows. Пошаговый пример есть у AWS для IIS. Не выбирайте Create Self-Signed Certificate вместо запроса к публичному центру.

Как создать CSR через OpenSSL на сервере

Пример ниже рассчитан на оболочку Linux и OpenSSL 3.x. В новой пустой папке с ограниченным доступом замените example.com и www.example.com своими именами. Убедитесь, что файлов с такими названиями еще нет: команда записывает новый ключ и запрос.

umask 077 openssl req -new -newkey rsa:2048 -sha256 -noenc \ -keyout example.com.key -out example.com.csr \ -subj "/CN=example.com" \ -addext "subjectAltName=DNS:example.com,DNS:www.example.com"

CN задает основное имя, SAN перечисляет все нужные DNS-имена. Параметр -noenc сохраняет ключ без парольного шифрования, чтобы служба могла запускаться без ручного ввода пароля. umask 077 ограничивает доступ к новым файлам владельцем. Файл ключа нельзя хранить в публичной папке сайта; для ключа с паролем уберите -noenc и учтите способ запуска службы. Параметры описаны в документации openssl req.

Для Wildcard укажите *.example.com и явно включите нужные имена в SAN. Если нужен и сам example.com, добавьте его отдельно. Звездочка покрывает один уровень поддоменов; она не заменяет example.com и не покрывает a.shop.example.com. Возможность выпуска на все имена зависит от выбранного сертификата и проверки центра.

Как создать CSR онлайн, сохранив ключ у себя

  1. Откройте генератор CSR по HTTPS на устройстве, которому доверяете. Введите домен, раскройте дополнительные адреса и проверьте, нужна ли версия с www или основной домен для Wildcard.
  2. Выберите тип ключа, совместимый с сервером и центром сертификации. Генератор поддерживает RSA 2048, RSA 4096 и ECDSA P-256. При необходимости заполните данные организации, затем создайте запрос.
  3. Скачайте оба результата. Отправляйте CSR, а закрытый ключ сохраните отдельно в защищенном месте. В генераторе Host4Biz ключ создается в браузере и на наш сервер не уходит; копии для восстановления у нас нет.

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

Как проверить готовый CSR перед отправкой

В том же генераторе выберите проверку готового CSR и вставьте запрос целиком. Сверьте имена SAN, тип и длину ключа, сведения об организации и результат проверки подписи. Для файла на сервере используйте:

openssl req -in example.com.csr -noout -text -verify

Команда показывает содержимое запроса и проверяет его собственную подпись. Это не проверка прав на домен и не подтверждение того, что центр выпустит сертификат. Если нужно убедиться, что рядом лежит правильный закрытый ключ, сравните SHA-256 двух открытых ключей:

openssl pkey -in example.com.key -pubout -outform DER | openssl dgst -sha256 openssl req -in example.com.csr -pubkey -noout | openssl pkey -pubin -outform DER | openssl dgst -sha256

Хеши должны совпасть. Команды выводят отпечатки открытого ключа, а не сам закрытый ключ. Такой способ подходит и для RSA, и для EC. Если сохранился только старый сертификат, создать новую рабочую пару из него нельзя: для нового запроса нужен соответствующий закрытый ключ или новая пара.

Что сохранить до установки сертификата

Сохраните CSR, подходящий закрытый ключ и список заказанных имен. Сделайте защищенную резервную копию ключа, ограничьте доступ и передавайте его только туда, где будет работать TLS. Не отправляйте его по почте, в форму заказа или в запрос поддержки. При потере ключа понадобятся новая пара, новый CSR и перевыпуск сертификата.

Подготовленный CSR можно использовать при заказе подходящего SSL-сертификата. После выпуска установите сертификат с его ключом и цепочкой, затем проверьте каждое имя сайта или почтовой службы. Сохраненный CSR сам по себе HTTPS не включает.

Чёрная пятница на Host4Biz

Смотреть предложения