bg-tutorials

Как сгенерировать CSR в CentOS

В этом руководстве показано, как сгенерировать CSR (запрос на подпись сертификата) на CentOS с помощью командной строки OpenSSL. Вы выполняете одну команду, отвечаете на несколько запросов о вашем домене и организации, и OpenSSL создает два файла: CSR, который вы отправляете в Удостоверяющий центр, и закрытый ключ, который остается на вашем сервере. Те же шаги работают на CentOS Stream, AlmaLinux, Rocky Linux и Red Hat Enterprise Linux, поскольку все они поставляются с одним и тем же инструментом openssl.

Примечание о версиях CentOS: CentOS Linux 8 достиг конца поддержки 31 декабря 2021 года, а CentOS Linux 7 — 30 июня 2024 года. Эти версии больше не получают обновлений безопасности, поэтому не используйте их для новых публичных сайтов. CentOS Stream — это текущая линейка, поддерживаемая проектом CentOS, а AlmaLinux и Rocky Linux являются прямыми заменами старого CentOS Linux. Команда для создания CSR, приведенная ниже, идентична на всех этих системах.

Шаг 1: Войдите на сервер по SSH

Подключитесь к вашему серверу CentOS через SSH. Замените user именем вашей учетной записи, а server-ip — именем хоста или IP-адресом вашего сервера:

ssh user@server-ip

Для создания ключа и CSR права root не требуются, но вам нужен доступ на запись в каталог, в котором вы выполняете команду. Убедитесь, что OpenSSL доступен, с помощью команды:

openssl version

Если команда отсутствует, установите ее с помощью sudo yum install openssl на CentOS 7 или sudo dnf install openssl на CentOS Stream, AlmaLinux и Rocky Linux.

Шаг 2: Создайте закрытый ключ и CSR

Выполните следующую команду в командной строке. Она создает 2048-битный закрытый ключ RSA и соответствующий CSR за один шаг:

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr -addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Замените yourdomain вашим настоящим доменным именем, чтобы файлы было легко идентифицировать позже. Например, если ваш домен example.com, файлы станут example.key и example.csr. Вот что делает каждая часть команды:

  • req -new создает новый запрос на подпись сертификата.
  • -newkey rsa:2048 генерирует новый закрытый ключ RSA длиной 2048 бит, текущий минимум для публичных сертификатов.
  • -nodes оставляет закрытый ключ незашифрованным, чтобы веб-сервер мог прочитать его при запуске без запроса парольной фразы.
  • -keyout yourdomain.key задает имя файла для закрытого ключа.
  • -out yourdomain.csr задает имя файла для CSR.

По умолчанию OpenSSL использует SHA-256 для подписи современных CSR, что и требуется Удостоверяющим центрам. Если вы предпочитаете ключ на эллиптических кривых вместо RSA, используйте ключ P-256:

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -keyout yourdomain.key -out yourdomain.csr -addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Держите закрытый ключ в секрете. Файл .key никогда не должен покидать ваш сервер и никогда не должен отправляться в Удостоверяющий центр или кому-либо еще. Отправляется только файл .csr. Любой, у кого есть закрытый ключ, может выдавать себя за ваш сайт, поэтому защитите его и сделайте резервную копию в надежном месте.

Шаг 3: Введите данные вашей организации

После выполнения команды OpenSSL запрашивает данные, которые войдут в CSR. Ответьте на каждый запрос, как описано ниже:

  • Country Name: двухбуквенный код страны ISO, где зарегистрирована ваша организация. Например, введите US для Соединенных Штатов или GB для Великобритании. Используйте GB, а не UK: UK не является допустимым кодом ISO и сделает CSR недействительным.
  • State or Province Name: полное название штата или региона, а не аббревиатура (например, California).
  • Locality Name: полное название города, где расположена ваша организация.
  • Organization Name: для сертификата с бизнес-валидацией или расширенной валидацией введите точное юридическое название вашей компании. Для сертификата с доменной валидацией вы можете вместо этого указать свое полное имя.
  • Organizational Unit Name: отдел, управляющий вашими сертификатами, например IT или веб-администрирование. Это поле необязательное, и вы можете оставить его пустым.
  • Common Name: полное доменное имя (FQDN), которое вы хотите защитить, например www.example.com. Для сертификата Wildcard поставьте звездочку перед доменом, например *.example.com. Не включайте https:// или любые другие символы.
  • Email Address: современные Удостоверяющие центры игнорируют это поле при валидации. Вы можете оставить его пустым или указать контактный адрес.
  • A challenge password: оставьте это поле пустым. Это устаревшее поле, которое Удостоверяющие центры не используют, и его заполнение может вызвать проблемы в некоторых системах заказа.

После завершения ввода данных OpenSSL записывает оба файла в текущий каталог. Выведите список файлов, чтобы убедиться, что они существуют:

ls -l yourdomain.key yourdomain.csr

Шаг 4: Проверьте CSR перед отправкой

Проверьте CSR перед отправкой в Удостоверяющий центр. Это подтверждает правильность данных и действительность подписи, что позволяет избежать отклонения заказа:

openssl req -noout -text -verify -in yourdomain.csr

Найдите в выводе verify OK, затем проверьте, что строка Subject показывает введенные вами Common Name, организацию и страну, и что ключ соответствует ожидаемому (например, RSA 2048 бит с подписью SHA-256). Если вы предпочитаете работать через браузер, вставьте CSR в наш онлайн-инструмент CSR decoder, чтобы прочитать те же данные.

Шаг 5: Скопируйте CSR и заказажите сертификат

Откройте CSR, чтобы скопировать его содержимое:

cat yourdomain.csr

Скопируйте весь блок, включая строки ——BEGIN CERTIFICATE REQUEST—— и ——END CERTIFICATE REQUEST—— и все, что между ними. Каждый маркер использует по пять дефисов с каждой стороны. Вставьте весь блок в форму заказа при покупке сертификата. Если вы предпочитаете подготовить запрос перед заказом, вы также можете вставить его в наш CSR Generator.

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

Создание CSR на других платформах Linux

Команда OpenSSL одинакова во всех дистрибутивах. Если вы работаете в другой системе, ознакомьтесь с нашими руководствами для Red Hat Linux, Debian и Ubuntu.

Сэкономьте 10% на SSL-сертификатах при заказе сегодня!

Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10

Детальное изображение дракона в полете
Написано

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

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.