Этот урок покажет вам, как сгенерировать CSR (запрос на подпись сертификата) в Virtualmin — панели управления хостингом с открытым исходным кодом, работающей поверх Webmin.
Графическая форма делает всю работу за вас: она создает 2048-битный (или более длинный) закрытый RSA-ключ на сервере, формирует запрос PKCS #10 с указанным субъектом и всеми альтернативными именами субъекта (Subject Alternative Names), а затем сохраняет оба файла в домашнем каталоге вашего виртуального сервера как ssl.csr и ssl.key. После этого вы отправляете CSR в удостоверяющий центр, а соответствующий закрытый ключ никогда не покидает сервер.
Шаги ниже описывают Virtualmin 7.x (текущую стабильную линию), которая использует страницу Manage SSL Certificate для сертификата виртуального сервера и встроенную интеграцию с Let’s Encrypt. Если ваш виртуальный сервер новый, сгенерируйте CSR перед оформлением заказа; если у вас уже есть CSR и сертификат из предыдущего заказа, переходите сразу к разделу установка сертификата в Virtualmin.
Шаг 1: Войдите в Virtualmin и выберите виртуальный сервер
Откройте Virtualmin в браузере (по умолчанию используется порт Webmin на вашем сервере):
https://yourserver.example.com:10000
Войдите как root или как главный администратор Virtualmin. В выпадающем списке в левом верхнем углу (селектор виртуального сервера) выберите домен, который хотите защитить. Virtualmin привязывает каждую страницу конфигурации к выбранному виртуальному серверу, поэтому CSR, созданный на следующем шаге, принадлежит именно этому домену и записывается в его собственный домашний каталог.
Если вам нужен сертификат для самой панели Virtualmin (страницы входа на порту 10000), сгенерируйте его через раздел Webmin, затем Webmin Configuration, затем SSL Encryption, следуя нашему руководству как сгенерировать CSR в Webmin. Остальная часть этого руководства посвящена сертификату для сайта — наиболее распространенному случаю.
Шаг 2: Откройте вкладку Signing Request
Выбрав нужный виртуальный сервер в выпадающем списке, перейдите в Server Configuration, затем Manage SSL Certificate. На открывшейся странице вверху расположен ряд вкладок. Откройте вкладку Signing Request (в старых сборках Virtualmin 6 она называется Create Signing Request).
Ту же форму можно открыть и через Manage Virtual Server, затем Setup SSL Certificate, затем Create Signing Request. Оба пути ведут в одно и то же диалоговое окно.
Шаг 3: Заполните данные CSR
Заполняйте форму, используя только стандартные символы ASCII; нелатинские буквы и символы с диакритическими знаками нарушат запрос у большинства удостоверяющих центров.
- Server name: полное доменное имя (FQDN), которое требуется защитить, например www.example.com. Virtualmin автоматически заполняет это поле доменом виртуального сервера; измените его, если хотите, чтобы сертификат покрывал другое имя хоста (например, корневой домен или поддомен). Для wildcard-сертификата поставьте звездочку перед корневым доменом: *.example.com. Это значение попадает в поле Common Name сертификата.
- Email address: действующий почтовый ящик для связи. Некоторые удостоверяющие центры используют его для уведомлений о валидации; в выпущенном сертификате он не отображается.
- Department (организационное подразделение): оставьте пустым. Форум CA/Browser постепенно исключил атрибут OU из общедоверенных сертификатов, поэтому любое введенное здесь значение будет удалено при выпуске.
- Organization: полное юридическое название вашей компании, точно как в регистрационных документах, например Your Company LLC. Обязательно для сертификатов с проверкой организации (OV) и расширенной проверкой (EV). Для сертификатов с проверкой домена (DV) это поле не проверяется, поэтому можно указать краткое условное значение, если у вас нет зарегистрированного юридического лица.
- City or Location: город, в котором зарегистрирована ваша организация, указанный полностью (например, Los Angeles, а не LA).
- State: полное название штата или региона (например, California), без сокращений.
- Country: двухбуквенный код страны по стандарту ISO 3166-1 (например, US, GB, DE).
- Key size: 2048 бит — текущий минимум, принимаемый всеми публичными удостоверяющими центрами, и безопасное значение по умолчанию. Выбирайте 3072 или 4096 только если ваша политика требует более длинного ключа; за это придется заплатить немного более медленным TLS-рукопожатием.
- Alternate hostnames (альтернативные имена субъекта, SAN): перечислите все дополнительные имена хостов, которые должен покрывать сертификат, по одному на строку или через пробел. Всегда включайте корневой домен, если ваш Common Name — www.example.com (чтобы сертификат покрывал и example.com), и включайте вариант с www, если ваш Common Name — корневой домен. Современные браузеры игнорируют Common Name и проверяют только список SAN, поэтому если оставить это поле пустым, сертификат не будет доверенным ни для каких дополнительных имен хостов.
Проверьте каждое поле. Удостоверяющий центр отклонит CSR, не соответствующий его данным для валидации, а опечатка в CSR означает необходимость создавать и отправлять новый запрос.
Шаг 4: Сгенерируйте CSR
Нажмите Generate CSR Now. Virtualmin создаст закрытый ключ и соответствующий ему CSR на сервере и выведет оба на экран. CSR выглядит следующим образом:
-----BEGIN CERTIFICATE REQUEST-----
MIIC4DCCAcgCAQAwgZoxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlh
... (many lines of base64) ...
-----END CERTIFICATE REQUEST-----
Закрытый ключ отображается ниже CSR в отдельном блоке, обрамленном строками -----BEGIN PRIVATE KEY----- и -----END PRIVATE KEY-----. Копировать его не нужно: Virtualmin уже сохранил его на сервере. За кулисами оба файла записываются в домашний каталог виртуального сервера, обычно по следующему пути:
/home/<user>/domains/<yourdomain>/ssl.csr
/home/<user>/domains/<yourdomain>/ssl.key
Оставьте закрытый ключ на месте. Удостоверяющий центр его никогда не видит, а Virtualmin автоматически свяжет его с выпущенным сертификатом, когда вы будете устанавливать сертификат на вкладке Update Certificate and Key.
Шаг 5: Скопируйте CSR и отправьте его в удостоверяющий центр
Выделите весь блок CSR, включая строки -----BEGIN CERTIFICATE REQUEST----- и -----END CERTIFICATE REQUEST----- (каждый маркер содержит по пять дефисов с каждой стороны). Скопируйте его и вставьте в поле CSR в форме заказа SSL-сертификата. Удостоверяющий центр считывает субъект, список SAN и открытый ключ из запроса, а затем выпускает соответствующий сертификат.
Перед отправкой стоит убедиться, что запрос содержит именно те значения, которые вы задумали. Вставьте текст CSR в наш декодер CSR, чтобы прочитать Common Name, список SAN, размер ключа и алгоритм подписи прямо в браузере. Убедитесь, что Common Name совпадает с именем хоста, которое используют ваши посетители, и что все необходимые имена присутствуют в списке Subject Alternative Name. Обнаружение опечатки на этом этапе избавит вас от необходимости повторного выпуска сертификата в дальнейшем.
Альтернатива: обойтись без CSR благодаря интеграции Virtualmin с Let’s Encrypt
Если вам достаточно бесплатного сертификата с проверкой домена, можно полностью пропустить ручной шаг с CSR. В Virtualmin встроен клиент Let’s Encrypt, который запрашивает, устанавливает и автоматически продлевает сертификат без какой-либо ручной работы с файлами.
- На той же странице Server Configuration, затем Manage SSL Certificate откройте вкладку SSL Providers (в старых сборках она называется Let’s Encrypt).
- Выберите домены для покрытия в разделе Request certificate for, добавьте дополнительные в разделе Domain names listed here и отметьте Also request wildcard certificate, если Virtualmin управляет вашим DNS и вы хотите включить все поддомены в один сертификат.
- Оставьте включенной опцию Automatically renew certificate. Сертификаты Let’s Encrypt действительны 90 дней, а автоматическое продление поддерживает их актуальность без ручной работы.
- Нажмите Request Certificate. Выпуск занимает от нескольких секунд до нескольких минут, после чего Virtualmin автоматически устанавливает сертификат на виртуальный сервер.
Let’s Encrypt выпускает только сертификаты с проверкой домена (DV). Если вам нужна проверка организации, расширенная проверка, более длительная гарантия или выделенная поддержка, воспользуйтесь описанным выше ручным процессом с CSR и закажите сертификат в коммерческом удостоверяющем центре.
После того как удостоверяющий центр выпустит ваш сертификат
После того как удостоверяющий центр проверит CSR и отправит вам по электронной почте выпущенный сертификат, вернитесь на страницу Manage SSL Certificate и вставьте подписанный сертификат на вкладке Update Certificate and Key, а затем вставьте промежуточную цепочку на вкладке CA Certificate. Полное пошаговое руководство доступно в нашей статье как установить SSL-сертификат в Virtualmin. После этого используйте кнопки Copy to … на той же странице, чтобы применить сертификат к Webmin, Usermin, Postfix, Dovecot и ProFTPd, чтобы панель управления и почтовые сервисы использовали тот же доверенный сертификат, что и сайт.
Если вы предпочитаете обойтись без панели управления и сформировать CSR отдельно от сервера прямо в браузере, наш генератор CSR создает запрос PKCS #10 с поддержкой SAN из одной формы. Особенность в том, что закрытый ключ генерируется вместе с CSR прямо в вашем браузере, поэтому вам нужно самостоятельно скачать и сохранить ключ, а затем перенести его на сервер перед завершением установки.
Сэкономьте 10% на SSL-сертификатах при заказе сегодня!
Быстрая выдача, надежное шифрование, 99,99% доверия к браузеру, специализированная поддержка и 25-дневная гарантия возврата денег. Код купона: SAVE10


