Сформировать ключи и отправить запрос на сертификат

Узнайте, как сформировать ключи и отправить запрос на сертификат без лишней головной боли. Пошагово, понятно, с подсказками — справится даже новичок!

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

Формирование ключевой пары и запроса на подпись сертификата (CSR — Certificate Signing Request), первый и важнейший шаг при получении SSL/TLS-сертификата или квалифицированной электронной подписи. В этой статье подробно разберём весь процесс: от генерации закрытого ключа до отправки запроса в удостоверяющий центр.

Что такое ключевая пара и CSR

При работе с асимметричной криптографией используются два связанных ключа:

  • Закрытый (приватный) ключ — секретная часть, которая хранится только у владельца. Его компрометация означает необходимость перевыпуска сертификата.
  • Открытый (публичный) ключ, передаётся в удостоверяющий центр в составе запроса CSR и включается в итоговый сертификат.

CSR (запрос на подпись сертификата) — это файл в формате PKCS#10, содержащий открытый ключ и данные о владельце: страну, организацию, доменное имя (Common Name) и другие атрибуты.

Генерация ключей и CSR с помощью OpenSSL

Наиболее распространённый инструмент — OpenSSL, поддерживаемый на всех основных платформах (Linux, Windows, macOS).

Шаг 1. Установка и запуск OpenSSL

На Linux OpenSSL обычно предустановлен. Пользователям Windows необходимо открыть директорию bin в папке с OpenSSL и запустить терминал.

Шаг 2. Генерация закрытого ключа и запроса одной командой

Классическая команда для создания RSA-ключа длиной 2048 бит и CSR:

openssl req -out CSR;csr -new -newkey rsa:2048 -nodes -keyout private.key

Разберём параметры:

  • req, работа с запросами на сертификат;
  • -new — указывает, что запрос нужно сгенерировать заново;
  • -newkey rsa:2048 — создать новый ключ RSA длиной 2048 бит;
  • -nodes, не шифровать закрытый ключ паролем (если нужна защита паролем, параметр опускают);
  • -keyout private.key, имя файла закрытого ключа;
  • -out CSR.csr — имя файла запроса.

Шаг 3. Заполнение данных запроса

Утилита интерактивно запросит следующие сведения:

  1. Country Name (C) — код страны, например RU;
  2. State or Province Name (ST) — регион;
  3. Locality Name (L) — город;
  4. Organization Name (O) — наименование организации, например ООО «»;
  5. Organizational Unit Name (OU) — подразделение;
  6. Common Name (CN) — доменное имя, например example. или ФИО владельца (Иванов И. И.);
  7. Email Address — контактный адрес, например admin@.

Если ключ защищён паролем, после запроса «Verifying — Enter pass phrase for private.key» необходимо повторно ввести пароль.

Шаг 4. Генерация на эллиптических кривых (опционально)

Для современных ECDSA-сертификатов можно использовать кривую P-256:

openssl req -newkey ec:<(openssl genpkey -genparam -algorithm ec -pkeyopt ec_paramgen_curve:P-256) -keyout PRIVATEKEY.key -out MYCSR.csr

Шаг 5. Проверка созданных файлов

Просмотреть закрытый ключ можно командой:

less private.key

Проверить корректность CSR:

openssl req -in CSR.csr -noout -text

Повторное создание CSR из существующего сертификата

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

openssl x509 -in domain.crt -signkey domain.key -x509toreq -out domain.csr

Формирование запроса на квалифицированный сертификат

Для получения квалифицированной электронной подписи (например, через программные продукты типа «Сигнатура-клиент») процедура выглядит иначе:

  1. Запустите программу формирования запроса и выберите пункт создания нового запроса PKCS#10.
  2. В окне «Выберите считыватель ключа» укажите тип ключевого носителя (токен, флеш-накопитель, реестр).
  3. При необходимости задайте пароль на ключевой носитель.
  4. Заполните персональные данные: ФИО (), СНИЛС (— ), ИНН организации ().
  5. Сохраните сформированный PKCS#10-запрос, нажав кнопку «ОК».
  6. Отправьте файл запроса в аккредитованный удостоверяющий центр лично или через личный кабинет.

Отправка запроса в удостоверяющий центр

После генерации CSR его необходимо передать в центр сертификации:

  • При заказе SSL-сертификата — на сайте регистратора выберите пункт «Уже есть CSR» и вставьте содержимое файла (включая строки -----BEGIN CERTIFICATE REQUEST----- и -----END CERTIFICATE REQUEST-----).
  • Через веб-интерфейс оборудования — нажмите «Обзор», укажите файл запроса и щёлкните «Регистрация».
  • В корпоративных системах — запрос подписывается локальным CA командой вида: openssl x509 -req -in request.csr -CA ca.crt -CAkey ca.key -out server.crt -sha256.

Рекомендации по безопасности

  • Генерируйте закрытый ключ только на своём сервере. Использование сторонних онлайн-генераторов не рекомендуется, так как в создании приватного ключа участвует третья сторона.
  • Храните закрытый ключ в защищённом месте с ограниченными правами доступа.
  • При утрате пароля или компрометации закрытого ключа сертификат необходимо незамедлительно перевыпустить.
  • Используйте современные алгоритмы: RSA не менее 2048 бит или ECDSA P-256, хеширование SHA-256.

Формирование ключей и запроса на сертификат, несложная, но ответственная процедура. Правильно сгенерированный закрытый ключ и корректно заполненный CSR обеспечивают надёжную основу для выпуска сертификата, будь то SSL для сайта или квалифицированная электронная подпись. Следуйте приведённым инструкциям, берегите закрытый ключ — и процесс получения сертификата пройдёт быстро и без проблем.