bg-tutorials

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

Это руководство показывает вам, как сгенерировать CSR (запрос на подпись сертификата) для кластера Nutanix — запрос, который вы отправляете в свой удостоверяющий центр (CA), чтобы получить доверенный SSL/TLS-сертификат для Prism Element (консоль одного кластера) и Prism Central (консоль нескольких кластеров). Prism не содержит встроенного мастера CSR, поэтому вы генерируете запрос и соответствующий приватный ключ отдельно от кластера с помощью OpenSSL, отправляете CSR в CA, а затем импортируете выданный сертификат обратно в Prism.

Nutanix принимает ключ RSA 2048, подписанный SHA-256, либо ключ ECDSA 256 (P-256) или ECDSA 384 (P-384). Выберите один из этих типов ключей при генерации CSR, иначе импорт в Prism завершится ошибкой. Приведённые ниже шаги охватывают Windows (OpenSSL на Windows) и Linux/macOS и применимы к текущим версиям AOS (AOS 6.x и AOS 7.x) и Prism Central 2024.x / 2025.x.

Прежде чем начать

  • OpenSSL 1.1.1 или новее на рабочей станции, где вы будете выполнять команды. macOS и большинство дистрибутивов Linux поставляются с ним. На Windows установите поддерживаемую сборку (например, пакет Win64 OpenSSL от Shining Light Productions), затем откройте новый терминал, чтобы новая команда openssl оказалась в вашей переменной PATH.
  • Точное полное доменное имя (FQDN), которое пользователи будут вводить в браузере для доступа к Prism, например prism.example.com. Если у вас несколько имён (FQDN плюс короткое имя хоста или несколько VIP-адресов кластера под одним сертификатом), перечислите все необходимые имена, чтобы добавить их все в качестве Subject Alternative Names.
  • Данные вашей организации: официальное название организации, населённый пункт (город), штат или область, а также двухбуквенный код страны ISO. Они требуются для сертификатов OV/EV и проверяются CA по публичным реестрам.

Генерация CSR с помощью OpenSSL (одной командой, с SAN)

Это самый быстрый способ, работающий на Windows, Linux и macOS, если у вас установлен OpenSSL 1.1.1 или новее. Он создаёт 2048-битный ключ RSA и CSR с заданным Common Name, заполненным расширением SAN и хеш-функцией SHA-256 для подписи.

Шаг 1: Выполните команду OpenSSL

Откройте терминал (командную строку или PowerShell на Windows, Терминал на macOS/Linux), перейдите в папку, где вы хотите сохранить ключ и CSR, и выполните:

openssl req -new -newkey rsa:2048 -nodes -sha256 
  -keyout prism.example.com.key 
  -out prism.example.com.csr 
  -subj "/C=US/ST=California/L=San Jose/O=Example Inc/CN=prism.example.com" 
  -addext "subjectAltName=DNS:prism.example.com,DNS:prism"

В командной строке Windows напишите команду в одну строку (уберите переносы строк с обратной косой чертой). Что делает каждый флаг:

  • -newkey rsa:2048 генерирует новую пару ключей RSA длиной 2048 бит. Придерживайтесь 2048: Nutanix указывает RSA 2048 как поддерживаемый размер RSA в раскрывающемся списке Private Key Type, и клиенты сообщали о сбоях импорта с ключами RSA 4096 в Prism Central. Если вам нужен более надёжный ключ, используйте вместо этого ECDSA P-256 или P-384 (оба поддерживаются).
  • -nodes записывает приватный ключ без парольной фразы. Prism импортирует незашифрованный ключ PEM, так что это избавит вас от лишнего шага по удалению шифрования позже.
  • -sha256 подписывает CSR с помощью SHA-256. SHA-1 не принимается ни одним публичным CA.
  • -subj задаёт Distinguished Name в одну строку. Замените каждое значение своим собственным. Используйте двухбуквенный код страны ISO (US, GB, DE). Поле Organizational Unit (OU) устарело для публичных сертификатов и может быть опущено.
  • -addext «subjectAltName=DNS:…» записывает расширение Subject Alternative Name в CSR. Перечислите все имена хостов, которые будут использовать клиенты, через запятую, каждое с префиксом DNS:. Браузеры игнорируют Common Name и сверяются только с SAN, поэтому именно этот список фактически появляется на сертификате.

Чтобы сгенерировать ключ ECDSA вместо RSA, замените аргумент -newkey:

# ECDSA P-256 (Nutanix "ECDSA 256")
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -nodes -sha256 
  -keyout prism.example.com.key -out prism.example.com.csr 
  -subj "/C=US/ST=California/L=San Jose/O=Example Inc/CN=prism.example.com" 
  -addext "subjectAltName=DNS:prism.example.com,DNS:prism"

# ECDSA P-384 (Nutanix "ECDSA 384") - use -sha384 to match the curve
openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:secp384r1 -nodes -sha384 
  -keyout prism.example.com.key -out prism.example.com.csr 
  -subj "/C=US/ST=California/L=San Jose/O=Example Inc/CN=prism.example.com" 
  -addext "subjectAltName=DNS:prism.example.com,DNS:prism"

Форма -pkeyopt ec_paramgen_curve: работает на любой платформе и в любой оболочке — Linux, macOS, а также в командной строке и PowerShell на Windows — без отдельного файла параметров. (На старых сборках OpenSSL, где эта опция отсутствует, сначала сгенерируйте параметры кривой с помощью openssl ecparam -name prime256v1 -out ec.param, а затем передайте -newkey ec:ec.param вместо этого.)

Шаг 2: Убедитесь, что оба файла созданы

OpenSSL записывает два файла в текущую папку:

  • prism.example.com.key — приватный ключ. Держите этот файл в секрете и сделайте его надёжную резервную копию. Prism импортирует его во время установки, и вы не сможете восстановить его только из сертификата.
  • prism.example.com.csr — CSR, который вы отправляете в CA.

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

Стоит быстро проверить, что Common Name, каждая запись SAN и размер ключа заданы верно. На той же машине:

openssl req -noout -text -in prism.example.com.csr

Найдите строку Subject: и блок X509v3 Subject Alternative Name:, в котором перечислены все нужные вам имена хостов. Если вы предпочитаете проверку через браузер, вставьте содержимое CSR в CSR Decoder от SSL Dragon и подтвердите те же данные.

Шаг 4: Отправьте CSR в удостоверяющий центр

Откройте prism.example.com.csr в любом текстовом редакторе. Вы увидите блок, который начинается и заканчивается следующим образом:

-----BEGIN CERTIFICATE REQUEST-----
MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx
... (many lines of base64) ...
-----END CERTIFICATE REQUEST-----

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

Альтернатива: используйте конфигурационный файл OpenSSL

Если вы предпочитаете хранить параметры запроса в файле (удобно, когда вы перевыпускаете тот же сертификат или вам нужно добавить длинный список SAN), поместите следующее в файл с именем nutanix.cnf:

[ req ]
default_bits       = 2048
default_md         = sha256
prompt             = no
encrypt_key        = no
distinguished_name = req_dn
req_extensions     = v3_req

[ req_dn ]
C  = US
ST = California
L  = San Jose
O  = Example Inc
CN = prism.example.com

[ v3_req ]
basicConstraints     = CA:FALSE
keyUsage             = digitalSignature, keyEncipherment
extendedKeyUsage     = serverAuth, clientAuth
subjectAltName       = @alt_names

[ alt_names ]
DNS.1 = prism.example.com
DNS.2 = prism

Замените значения под [ req_dn ] своими, и добавьте по одной строке DNS.n на каждое имя хоста под [ alt_names ]. Затем сгенерируйте ключ и CSR одной командой:

openssl req -new -nodes -newkey rsa:2048 -sha256 
  -keyout prism.example.com.key 
  -out prism.example.com.csr 
  -config nutanix.cnf

Результат идентичен методу с одной командой, описанному выше: 2048-битный ключ RSA и CSR с указанным вами субъектом и всеми SAN. Проверьте его командой openssl req -noout -text -in prism.example.com.csr перед отправкой.

После того как CA выдал ваш сертификат

CA возвращает выданный серверный сертификат и цепочку (один или несколько промежуточных сертификатов и корневой CA). Prism импортирует три файла:

  • Private Key: файл .key, который вы сгенерировали с помощью OpenSSL, незашифрованный PEM.
  • Public Certificate: ваш выданный серверный сертификат в формате PEM (часто поставляется с расширением .crt или .pem).
  • CA Certificate/Chain: единый файл PEM со всеми промежуточными сертификатами и корневым CA, объединёнными по порядку, причём корневой CA идёт последним. Prism предоставляет только одно поле для цепочки, так что объедините всё в один файл.

Полный процесс установки (путь в интерфейсе Prism Element и Prism Central, выбор типа Private Key Type и краткий перезапуск веб-службы после импорта) описан в нашем руководстве как установить SSL-сертификат на кластере Nutanix. Чтобы проверить действующий сертификат после импорта, просканируйте URL Prism с помощью SSL Checker (если Prism находится во внутренней сети, выполните проверку изнутри этой сети либо проверьте сертификат в браузере).

Предпочитаете веб-форму? Используйте наш CSR Generator

Если вы не хотите запускать OpenSSL, наш CSR Generator создаёт эквивалентный CSR и приватный ключ через единую форму. Выберите RSA 2048, ECDSA P-256 или ECDSA P-384, чтобы результат соответствовал тому, что принимает Nutanix, заполните свои данные субъекта и список SAN, затем скачайте ключ и CSR. Сохраните файл ключа так же, как вы бы сохранили результат работы OpenSSL: Prism не может ни перевыпустить, ни восстановить его.

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

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

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

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