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-сертификатах. Превращает сложные темы кибербезопасности в понятный, увлекательный контент. Вносите свой вклад в повышение уровня цифровой безопасности с помощью впечатляющих рассказов.