bg-tutorials

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

В этом руководстве показано, как сгенерировать CSR на LiteSpeed с помощью командной строки OpenSSL.

LiteSpeed Web Server (LSWS Enterprise) и OpenLiteSpeed не имеют встроенного мастера создания CSR: их консоли WebAdmin ожидают пути к файлам уже существующего приватного ключа и сертификата. Вы генерируете оба файла с помощью OpenSSL на хосте LiteSpeed, отправляете CSR в вашу удостоверяющий центр (CA), а затем указываете выданный сертификат и соответствующий ключ на вкладке SSL слушателя (listener).

Приведённые ниже шаги работают на всех современных дистрибутивах Linux, на которых работает LiteSpeed (Ubuntu, Debian, RHEL, AlmaLinux, Rocky Linux, CentOS Stream, CloudLinux), поскольку каждый из них поставляется с OpenSSL 1.1.1 или OpenSSL 3.x. Обе версии по умолчанию подписывают запрос с помощью SHA-256, поэтому вам не нужно добавлять флаг дайджеста.

Шаг 1: Подключитесь к вашему серверу LiteSpeed

Откройте Terminal на macOS или Linux, либо PowerShell или Windows Terminal на Windows, и подключитесь к серверу по SSH. Замените имя пользователя и хост на свои собственные:

ssh your-user@your-litespeed-server

Сгенерируйте CSR на том же сервере, на котором будет работать слушатель LiteSpeed. Приватный ключ создаётся рядом с CSR и должен оставаться на этом сервере, поэтому выполнение команды на вашем ноутбуке с последующим переносом ключа лишает смысла всю процедуру. Стандартная установка LSWS находится в каталоге /usr/local/lsws/, и обычной практикой является хранение материалов сертификата в /usr/local/lsws/conf/ssl/. Создайте этот каталог, если он не существует, затем перейдите в него:

sudo mkdir -p /usr/local/lsws/conf/ssl
cd /usr/local/lsws/conf/ssl

Шаг 2: Сгенерируйте приватный ключ и CSR

Если вы уже сгенерировали CSR с помощью другого инструмента, перейдите к разделу установка сертификата на LiteSpeed.

Выполните следующую команду OpenSSL. Она создаёт 2048-битный RSA-ключ и CSR за один шаг, с указанием субъекта и альтернативных имён субъекта (SAN) прямо в команде, чтобы OpenSSL не задавал дополнительных вопросов:

sudo openssl req -new -newkey rsa:2048 -nodes 
-keyout yourdomain.key 
-out yourdomain.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com" 
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Что делает каждая часть:

  • -newkey rsa:2048 генерирует новый 2048-битный RSA-ключ. 2048 бит — это текущий минимум, принимаемый публичными CA; вы можете использовать rsa:4096 для более крупного ключа, либо переключиться на ECDSA (см. ниже).
  • -nodes оставляет приватный ключ незашифрованным. Это требуется для LiteSpeed: слушатель WebAdmin не может запуститься с ключом, защищённым парольной фразой.
  • -keyout и -out задают имена файлов приватного ключа и CSR. Сохраняйте расширения .key и .csr, чтобы поля слушателя LiteSpeed и форма заказа вашего CA распознавали их.
  • -subj задаёт субъект сертификата. Указывайте здесь реальное название вашей компании, штат и город, а не заглушки. CN (Common Name) — это ваш основной домен.
  • -addext «subjectAltName=…» перечисляет каждое имя хоста, которое должен покрывать сертификат. Публичные CA проверяют по списку SAN, поэтому включите сюда и Common Name.

Замените yourdomain.com на ваш реальный домен во всех местах. Чтобы охватить дополнительные имена хостов, добавьте их в список SAN, разделяя запятыми, например DNS:api.yourdomain.com. Для сертификата с wildcard включите и wildcard, и «голый» домен: DNS:*.yourdomain.com,DNS:yourdomain.com. Используйте только буквенно-цифровые символы в полях субъекта и официальный двухбуквенный код страны для поля C.

Если вы предпочитаете ключ ECDSA (меньше и быстрее, с широкой поддержкой P-256), сгенерируйте ключ и CSR следующим образом:

sudo openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes 
-keyout yourdomain.key 
-out yourdomain.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com" 
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Если вы предпочитаете отвечать на запросы по одному полю за раз, выполните sudo openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr без -subj и без -addext. OpenSSL будет запрашивать каждое поле по очереди. Когда это произойдёт:

  • Country Name (C): двухбуквенный код ISO вашей страны, например US или GB. Для сертификатов Business Validation или Extended Validation это должна быть официальная страна регистрации вашей организации.
  • State or Province Name (ST): полное название, например California. Не сокращайте.
  • Locality Name (L): город или населённый пункт, например San Francisco.
  • Organization Name (O): официальное зарегистрированное название вашей компании, например GPI Holding LLC. Для сертификатов Domain Validation вы можете указать NA.
  • Organizational Unit Name (OU): это поле устарело и игнорируется публичными CA. Оставьте его пустым, нажав Enter.
  • Common Name (CN): полное доменное имя (FQDN), для которого предназначен сертификат, например www.yourdomain.com. Для wildcard используйте *.yourdomain.com.
  • Email Address: необязательно и не используется публичными CA. Можно оставить пустым.
  • A challenge password и An optional company name: оба этих атрибута устарели и игнорируются публичными CA. Оставьте их пустыми.

Без флага -addext получившийся CSR не будет содержать записей SAN. Публичные CA проверяют по списку SAN и отклонят (либо молча переопределят) запрос без него, поэтому рекомендуемый путь — команда с прямым указанием -subj и -addext, приведённая выше.

Шаг 3: Найдите ваши файлы и защитите ключ

Выведите список файлов в текущем каталоге, чтобы убедиться, что оба файла созданы:

ls

Вы должны увидеть два новых файла:

  • yourdomain.key: ваш приватный ключ. Храните его на сервере, делайте надёжные резервные копии и никогда никому его не отправляйте, включая удостоверяющий центр. Тот, кто владеет ключом, может подделывать ваш сайт.
  • yourdomain.csr: ваш запрос на подпись сертификата (Certificate Signing Request). Это файл, который вы отправляете провайдеру SSL.

Ограничьте доступ к приватному ключу так, чтобы его мог читать только владелец файла, и убедитесь, что пользователь администратора LiteSpeed (lsadm по умолчанию) всё ещё может читать оба файла, когда слушатель их загружает:

sudo chmod 600 yourdomain.key
sudo chown lsadm:lsadm yourdomain.key yourdomain.csr

Шаг 4: Проверьте CSR (необязательно, но рекомендуется)

Перед отправкой убедитесь, что CSR содержит правильный субъект и SAN, а его подпись действительна. Эта команда локально декодирует запрос с помощью OpenSSL:

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

Убедитесь, что строка Subject отображает ваши данные, что X509v3 Subject Alternative Name перечисляет все ожидаемые имена хостов, и что проверка подписи выводит verify OK. Алгоритм подписи должен быть sha256WithRSAEncryption (или ecdsa-with-SHA256 для ключа ECDSA). Если вы предпочитаете не использовать командную строку, вставьте CSR в наш онлайн-инструмент декодер CSR, чтобы просмотреть те же поля в браузере.

Шаг 5: Отправьте ваш CSR

Чтобы скопировать CSR для вашего заказа, выведите его содержимое:

cat yourdomain.csr

Вы увидите блок текста, подобный этому:

-----BEGIN CERTIFICATE REQUEST-----
MIICyzCCAbMCAQAwTDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQsw...
...(many more lines of base64 characters)...
-----END CERTIFICATE REQUEST-----

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

Если вы предпочитаете не использовать командную строку, вы также можете создать запрос с помощью нашего онлайн-инструмента генератор CSR. Обратите внимание, что он генерирует приватный ключ в вашем браузере, поэтому сохраните этот ключ самостоятельно и перенесите его на сервер LiteSpeed.

После того как ваш CA проверит запрос, вы получите свой сертификат. В зависимости от уровня проверки это занимает несколько минут для Domain Validation или до нескольких рабочих дней для Business Validation и Extended Validation.

Шаг 6: Укажите ключ и сертификат в LiteSpeed

Когда сертификат придёт, разместите выданный сертификат и пакет CA на сервере рядом с ключом, а затем укажите на них в слушателе LiteSpeed. В консоли LSWS WebAdmin (обычно по адресу https://your-server-ip:7080) откройте раздел Listeners, нажмите на ваш HTTPS-слушатель, переключитесь на вкладку SSL и отредактируйте раздел SSL Private Key & Certificate:

  • Private Key File: /usr/local/lsws/conf/ssl/yourdomain.key
  • Certificate File: /usr/local/lsws/conf/ssl/yourdomain.crt
  • CA Certificate File: /usr/local/lsws/conf/ssl/yourdomain.ca-bundle (промежуточные сертификаты)

Сохраните изменения, затем нажмите Graceful Restart на панели управления WebAdmin, чтобы применить изменения без разрыва существующих соединений. OpenLiteSpeed использует те же поля на вкладке SSL каждого слушателя и ту же кнопку Graceful Restart в правом верхнем углу. Полное руководство по установке смотрите в нашей статье как установить SSL-сертификат на LiteSpeed.

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

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

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

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