В этом руководстве показано, как сгенерировать 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

