bg-tutorials

Как создать код CSR на серверах Oracle

Это руководство показывает, как сгенерировать CSR (запрос на подпись сертификата) на серверах Oracle. Оно охватывает три продукта Oracle, где CSR создаётся локально: Oracle Wallet Manager (или современную команду orapki), Oracle iPlanet Web Server и Oracle WebLogic Server (Java keytool). Выберите раздел, соответствующий вашему продукту, выполните шаги, а затем отправьте CSR в вашу Certificate Authority.

Генерация CSR в Oracle Wallet Manager

Если вы уже сгенерировали свой CSR, переходите сразу к разделу установка SSL-сертификата на Oracle. В противном случае у вас есть два варианта в Oracle Wallet Manager: графический интерфейс Oracle Wallet Manager (OWM) или современная утилита командной строки orapki, поставляемая с продуктами Oracle. Путь через orapki поддаётся автоматизации и является вариантом, который Oracle рекомендует для текущих развёртываний; OWM по-прежнему поддерживается для тех же операций.

Вариант А: Oracle Wallet Manager (графический интерфейс)

  1. Откройте Oracle Wallet Manager. Если у вас ещё нет кошелька (wallet), выберите Wallet > New, задайте надёжный пароль и сохраните его.
  2. В главном меню выберите Operations > Add Certificate Request.
  3. В диалоговом окне заполните данные запроса сертификата точно в соответствии с тем, как ваша организация юридически зарегистрирована:
    • Common Name (CN): полное доменное имя, которое вы хотите защитить, например www.yourdomain.com, или wildcard, например *.yourdomain.com. Не вводите имя человека.
    • Organizational Unit (OU): публичные CA больше не выпускают это поле. Оставьте пустым.
    • Organization (O): полное юридическое название вашей компании, например Your Company LLC. Для DV (Domain Validation) сертификатов это поле можно оставить пустым.
    • Locality / City (L): полное название города, где зарегистрирована ваша компания, например Seattle. Не используйте сокращения.
    • State / Province (ST): полное название штата или региона, например Washington. Не используйте двухбуквенный код.
    • Country (C): двухбуквенный код страны по ISO, например US, GB, DE.
    • Key Size: 2048 бит — текущий публичный минимум. Кошельки Oracle предлагают 512, 1024, 2048, 4096 и более, без опции 3072, поэтому следующий шаг вверх здесь — 4096.
  4. Нажмите OK. Появится окно подтверждения об успешной генерации CSR. Узел сертификата в навигационном меню кошелька теперь показывает статус Certificate: [Requested].
  5. Вернувшись к виду кошелька, выберите Operations > Export Certificate Request, задайте имя файла (например, yourdomain.csr) и сохраните его. Не закрывайте и не удаляйте кошелёк: теперь он содержит закрытый ключ, парный с этим CSR.

Примечание: графический интерфейс Oracle Wallet Manager не предоставляет отдельного поля для Subject Alternative Name (SAN). Современные браузеры и клиенты TLS проверяют сертификаты по расширению SAN, а не по Common Name, поэтому укажите все необходимые имена хостов (например, yourdomain.com и www.yourdomain.com) в поле SAN формы заказа вашего Certificate Authority. CA добавит их в выпущенный сертификат. Если вы используете командную строку orapki (Вариант Б ниже), вы можете встроить SAN напрямую в CSR с помощью флага -addext_san.

Вариант Б: orapki (командная строка)

Утилита orapki поставляется с продуктами Oracle (в дистрибутивах базы данных, Fusion Middleware и HTTP Server) и является альтернативой OWM, поддающейся автоматизации. Процесс состоит из двух команд: создание кошелька и пары ключей, затем экспорт CSR.

Создайте кошелёк с автоматическим входом (auto-login) и добавьте пару ключей:

orapki wallet create -wallet /etc/oracle/wallet -auto_login -pwd "YourStrongPassword"

orapki wallet add -wallet /etc/oracle/wallet 
  -dn "CN=www.yourdomain.com, O=Your Company LLC, L=Seattle, ST=Washington, C=US" 
  -keysize 2048 
  -addext_san "DNS:yourdomain.com,DNS:www.yourdomain.com" 
  -pwd "YourStrongPassword"

Затем экспортируйте CSR из кошелька:

orapki wallet export -wallet /etc/oracle/wallet 
  -dn "CN=www.yourdomain.com, O=Your Company LLC, L=Seattle, ST=Washington, C=US" 
  -request /tmp/yourdomain.csr 
  -pwd "YourStrongPassword"

Замените путь к кошельку, DN и пароль своими значениями. DN в команде export должен совпадать с DN, использованным при добавлении пары ключей. Флаг -addext_san (orapki 12.2.1.1 и более поздних версий) встраивает Subject Alternative Names напрямую в CSR; перечислите все имена хостов, которые должен охватывать сертификат, включая как основной домен, так и субдомен www. Файл yourdomain.csr теперь содержит CSR, готовый к отправке.

Отправка CSR

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

Генерация CSR на Oracle iPlanet Web Server

Oracle iPlanet (ранее Sun Java System Web Server, затем Sun ONE) хранит серверные сертификаты и их ключи в хранилище токенов. Мастер CSR находится в консоли администратора:

  1. В консоли администратора Oracle iPlanet откройте Server Certificates и нажмите Request.
  2. В списке Configuration выберите конфигурацию, для которой предназначен сертификат.
  3. Выберите Token (Cryptographic Device), который будет хранить ключ. Если ключ хранится на сервере, выберите Internal; в противном случае выберите ваш внешний токен из выпадающего списка. Введите пароль для выбранного токена.
  4. Заполните данные сертификата:
    • Server Name: полное доменное имя, которое вы хотите защитить, например www.yourdomain.com. Для wildcard-сертификата добавьте звёздочку впереди, например *.yourdomain.com.
    • Organization (O): полное юридическое название вашей компании, например Your Company LLC.
    • Organizational Unit (OU): устарело для публичных CA. Оставьте пустым.
    • Locality (L): полное название города, где зарегистрирована ваша организация.
    • State or Province (ST): полное название штата или региона, где зарегистрирована ваша организация.
    • Country (C): двухбуквенный код страны по ISO, например US для США. См. полный список кодов стран.
  5. Для Key Type выберите RSA с размером 2048 бит (или больше).
  6. Для Certificate Signing Authority (CSA) выберите CA Signed.
  7. Проверьте введённые значения, затем нажмите Generate Request, а затем Finish.
  8. Скопируйте только что сгенерированный CSR (включая строки -----BEGIN NEW CERTIFICATE REQUEST----- и -----END NEW CERTIFICATE REQUEST-----) в текстовый файл, затем нажмите Close.

Примечание: как и в Oracle Wallet Manager, мастер CSR в iPlanet не предоставляет отдельного поля SAN. Укажите все имена хостов, которые должен охватывать сертификат (основной домен плюс www, а также любые другие субдомены), в поле SAN формы заказа вашего CA.

Генерация CSR на Oracle WebLogic Server

Oracle WebLogic Server использует хранилища ключей Java (keystores). Вы генерируете CSR с помощью утилиты Java keytool двумя командами: сначала keytool -genkeypair создаёт хранилище ключей и закрытый ключ под выбранным псевдонимом (alias), затем keytool -certreq экспортирует соответствующий CSR. Тот же псевдоним нужно будет использовать позже при импорте подписанного сертификата, чтобы ключ, CSR и будущий сертификат находились в одном месте.

Шаг 1: Создание хранилища ключей и закрытого ключа

Откройте терминал на сервере WebLogic и создайте новое хранилище ключей в формате PKCS12. PKCS12 является форматом хранилища ключей по умолчанию в Java начиная с JDK 9 и представляет собой современный, переносимый стандарт. Более старый проприетарный формат JKS официально устарел:

keytool -genkeypair 
  -alias server 
  -keyalg RSA -keysize 2048 
  -storetype PKCS12 
  -keystore yourdomain.p12 
  -validity 825

Что означают флаги:

  • -alias server: имя записи внутри хранилища ключей. Выберите метку, которую вы запомните (часто server или ваш домен). Запишите её. Вы должны использовать этот точный псевдоним при генерации CSR и снова при импорте подписанного сертификата.
  • -keyalg RSA -keysize 2048: 2048-битный ключ RSA — текущий публичный минимум. Для новых хранилищ ключей 3072 бита — разумное обновление для более долгоживущих ключей. Большинство публичных CA также принимают ECDSA (-keyalg EC -groupname secp256r1), если вы предпочитаете меньший и более быстрый ключ; -groupname требует JDK 13 или более позднюю версию, поэтому на средах выполнения Java 8 и Java 11, которые поддерживают более старые версии WebLogic, используйте вместо этого -keyalg EC -keysize 256, что выбирает ту же кривую.
  • -storetype PKCS12: принудительно задаёт современное хранилище ключей PKCS12. Соответствующее расширение — .p12 (или .pfx).
  • -keystore yourdomain.p12: файл хранилища ключей для создания. Замените на что-то, что вы запомните, и храните файл в безопасности: он содержит ваш закрытый ключ.
  • -validity 825: как долго действителен самоподписанный заполняющий сертификат внутри хранилища ключей. Подписанный сертификат от CA позже заменит его, поэтому точное значение не влияет на срок службы в продакшене.

Примечание: если вам необходимо продолжать использовать JKS для более старого развёртывания WebLogic, замените -storetype PKCS12 на -storetype JKS и используйте расширение .jks. Остальная часть процесса идентична. Для wildcard-сертификатов не используйте звёздочку в имени файла хранилища ключей: этот символ не поддерживается на большинстве файловых систем.

Затем keytool запросит пароль хранилища ключей. Выберите надёжный пароль и сохраните его в менеджере секретов: он понадобится вам для каждой последующей команды keytool и для конфигурации хранилища ключей WebLogic. С хранилищами ключей PKCS12 пароль ключа совпадает с паролем хранилища, поэтому нужно запомнить только один пароль.

Шаг 2: Ввод данных вашей организации (DN)

Теперь keytool запросит Distinguished Name (DN): поля идентификации, которые войдут в CSR. Отвечайте на каждый запрос точным, юридическим значением для вашей организации. Пунктуация и точность имеют значение, так как CA отклонит несоответствия с публичными деловыми записями.

  • First and last name (CN): это формулировка keytool, но фактически это поле Common Name. Введите точное FQDN, которое вы защищаете, например www.yourdomain.com, или wildcard, например *.yourdomain.com. Не вводите имя человека.
  • Organizational unit (OU): больше не выпускается публичными CA. Не пытайтесь пропустить это поле нажатием Enter: keytool подставит своё собственное значение по умолчанию и запишет OU=Unknown в запрос, а ответ пробелом даёт тот же результат. Интерактивного способа опустить это поле не существует, поэтому либо введите название отдела, например IT, либо используйте форму -dname, показанную ниже, и опустите компонент OU из строки.
  • Organization (O): полное юридическое название вашей компании, например Your Company LLC. Если название вашей компании содержит символы, такие как & или @, напишите их словами или опустите; keytool отклонит некоторые специальные символы.
  • City or locality (L): полное название города, например San Francisco. Не используйте сокращения.
  • State or province (ST): полное название штата или региона, например California. Не используйте двухбуквенный код.
  • Country code (C): двухбуквенный код страны по ISO, например US, GB, DE.

После последнего запроса keytool покажет сводку вида CN=www.yourdomain.com, OU=Unknown, O=Your Company LLC, L=San Francisco, ST=California, C=US. Введите yes для подтверждения. Файл хранилища ключей теперь существует с одной записью: ваш псевдоним, содержащий закрытый ключ и самоподписанный заполняющий сертификат.

Если вы предпочитаете неинтерактивную команду, передайте DN встроенно и пропустите запросы:

keytool -genkeypair 
  -alias server 
  -keyalg RSA -keysize 2048 
  -storetype PKCS12 
  -keystore yourdomain.p12 
  -dname "CN=www.yourdomain.com, O=Your Company LLC, L=San Francisco, ST=California, C=US" 
  -validity 825

Шаг 3: Генерация CSR с SAN

Современные браузеры и клиенты TLS проверяют сертификаты по расширению Subject Alternative Name (SAN), а не только по Common Name. Запросите SAN непосредственно в CSR, чтобы CA включил их в выпущенный сертификат. Используйте тот же псевдоним и хранилище ключей из Шага 1:

keytool -certreq 
  -alias server 
  -keystore yourdomain.p12 
  -file yourdomain.csr 
  -ext san=dns:yourdomain.com,dns:www.yourdomain.com

Что означают флаги:

  • -alias server: должен совпадать с псевдонимом из Шага 1. Это псевдоним, чей закрытый ключ подписывает запрос.
  • -keystore yourdomain.p12: должен совпадать с хранилищем ключей из Шага 1.
  • -file yourdomain.csr: имя выходного файла для CSR.
  • -ext san=dns:…: расширение Subject Alternative Name. Перечислите все имена хостов, которые должен охватывать сертификат, включая как основной домен (yourdomain.com), так и субдомен www. Добавьте больше записей через запятую, например dns:api.yourdomain.com.

keytool запросит пароль хранилища ключей и запишет CSR в файл yourdomain.csr в текущей директории.

Важно: сохраняйте свой псевдоним и хранилище ключей

Самая распространённая ошибка keytool на WebLogic — импорт подписанного сертификата под новым псевдонимом. Это приведёт к тому, что сертификат сохранится как отдельная доверенная запись без привязанного закрытого ключа, и SSL-слушатель WebLogic не запустится. Всегда импортируйте подписанный ответ обратно в тот же псевдоним, который содержит закрытый ключ (псевдоним из Шага 1).

Запишите эти три значения сейчас, прежде чем закрыть терминал:

  • Псевдоним (в этом руководстве — server).
  • Путь к файлу хранилища ключей (например, yourdomain.p12).
  • Пароль хранилища ключей.

Если вы не уверены, какой псевдоним содержит ваш ключ, выведите содержимое хранилища ключей и найдите запись, тип которой PrivateKeyEntry:

keytool -list -v -keystore yourdomain.p12

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

Обнаружьте опечатки в DN или отсутствующие SAN до того, как их проверит CA. Выведите CSR с помощью keytool:

keytool -printcertreq -file yourdomain.csr

Или, если установлен OpenSSL:

openssl req -noout -text -in yourdomain.csr

Убедитесь в трёх вещах в выводе: поле Subject показывает ваш точный DN, Subject Alternative Name перечисляет все нужные вам имена хостов, а размер Public-Key соответствует запрошенному (2048-битный RSA или другой выбранный вами вариант). Вы также можете вставить CSR в наш Декодер CSR для той же проверки в браузере.

Шаг 5: Отправка CSR вашему Certificate Authority

Откройте файл yourdomain.csr в любом текстовом редакторе. Файл представляет собой обычный текст, начинающийся с -----BEGIN NEW CERTIFICATE REQUEST----- и заканчивающийся -----END NEW CERTIFICATE REQUEST-----. Скопируйте весь блок, включая эти строки заголовка и окончания, и вставьте его в поле CSR при оформлении заказа у вашего CA. В Windows используйте Ctrl + A, затем Ctrl + C, чтобы захватить весь текст; в macOS используйте Cmd + A, затем Cmd + C.

Сделайте резервную копию файла хранилища ключей (yourdomain.p12) в безопасном месте, прежде чем закрыть терминал. Если вы потеряете хранилище ключей, вы потеряете закрытый ключ, и сертификат, выданный CA, окажется бесполезным.

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

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

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

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

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

Avatar of Sergiu Rosca
Technical Review by Sergiu Rosca

Sergiu Rosca is the core web developer behind SSL Dragon. He manages the technical infrastructure, platform performance, and backend integrations that keep the site running smoothly and securely. At SSL Dragon, Sergiu shares practical insights on web development, site optimization, and technical troubleshooting.

All SSL Dragon installation guides are tested on live server environments and undergo a strict peer-review process to ensure your infrastructure remains secure. Read our full Editorial Policy.