Генератор CSR

Генерировать CSR
Далее

Чтобы получить TLS-сертификат, нужно передать удостоверяющему центру запрос на подпись сертификата: ваш домен, открытый ключ и подтверждение того, что вы владеете соответствующим закрытым ключом. Этот генератор создаёт CSR в формате PEM и закрытый ключ RSA прямо в браузере, с теми полями и размером ключа, которые вы укажете. Закрытый ключ никогда не покидает страницу, но скачайте его до закрытия вкладки, потому что ничего не хранится на сервере.

Как создать CSR

  1. 1

    Введите общее имя (CN)

    Основное имя хоста, которое будет защищать сертификат, например `www.example.com`. Допускаются подстановочные знаки, например `*.example.com`.

  2. 2

    Заполните поля организации (необязательно)

    O (организация), OU, L (город), ST (регион), C (код страны) и при желании адрес электронной почты. Сертификаты с проверкой домена игнорируют большую часть этих полей; сертификаты OV и EV требуют их.

  3. 3

    Выберите размер ключа

    RSA 2048 (по умолчанию, универсальная совместимость) или более стойкие размеры RSA 3072 и RSA 4096.

  4. 4

    Скачайте оба файла

    Файл `.csr` отправляется вашему УЦ; файл `.key` остаётся на вашем сервере. Храните ключ надёжно: потеря означает начало заново.

Что создаётся

Два файла PEM:

example.csr (открытый, отправляется УЦ):

-----BEGIN CERTIFICATE REQUEST-----
MIIC...
-----END CERTIFICATE REQUEST-----

example.key (закрытый, остаётся на вашем сервере):

-----BEGIN PRIVATE KEY-----
MIIE...
-----END PRIVATE KEY-----

CSR подписывается закрытым ключом как доказательство владения. Когда УЦ выпускает сертификат, открытый ключ сертификата совпадёт с ключом из CSR, который совпадёт с закрытым ключом на вашем сервере.

Этот генератор создаёт CSR только с введённым общим именем и без расширений альтернативных имён субъекта (SAN). Если сертификат должен покрывать несколько имён хоста, используйте инструменты своего УЦ: ACME-клиенты, такие как Let’s Encrypt, создают запрос за вас, а большинство веб-форм УЦ добавляет дополнительные имена при отправке.

Требования к полям по типу сертификата

Поле Нужно для DV? Нужно для OV/EV?
Общее имя (CN) Да Да
Организация (O) Нет Да, проверяется
Организационная единица Необязательно Необязательно
Местоположение (город) Необязательно Да, проверяется
Регион / область Необязательно Да, проверяется
Страна (2 буквы) Рекомендуется Да, проверяется
Адрес электронной почты Необязательно Необязательно

Let’s Encrypt и большинство автоматизированных DV-издателей смотрят только на общее имя. Корпоративные УЦ, выпускающие сертификаты OV/EV, сверяют данные организации с деловыми реестрами.

Размеры ключей

Размер ключа Преимущества Недостатки
RSA 2048 Универсальная совместимость, быстро Меньший запас прочности
RSA 3072 Стойче, всё ещё универсален Медленнее генерация и handshake
RSA 4096 Самый стойкий, всё ещё универсален Самый медленный и самый большой

Для публичного веб-сервера RSA 2048 является безопасным выбором по умолчанию. Выбирайте 3072 или 4096 бит, если нужен больший запас прочности и вы готовы к более медленной генерации ключа, медленным handshake и большим сертификатам.

Где CSRs ошибаются

  • Сертификат не покрывает имя хоста: браузеры показывают “NET::ERR_CERT_COMMON_NAME_INVALID”, когда сертификат не покрывает точное имя, которое вы посетили. Общее имя должно совпадать с полным именем хоста, включая www, если вы его используете. Поскольку этот генератор создаёт запрос с одним CN, для дополнительных имён используйте инструменты своего УЦ.
  • Ограничение подстановочных знаков: wildcard *.example.com соответствует только одному уровню поддомена. Он не соответствует api.v2.example.com.
  • Аpex-домен и wildcard это разные имена: *.example.com не покрывает голый example.com; в сертификате нужны оба как отдельные имена.
  • IP-адрес: большинство публичных УЦ больше не выпускает сертификаты для IP-адресов, поэтому нужно использовать имя хоста.

После создания

  1. Храните закрытый ключ в безопасности. Права 0600, владелец пользователь веб-сервера.
  2. Вставьте CSR в веб-форму или CLI-инструмент вашего УЦ (Let’s Encrypt через ACME обычно делает это автоматически).
  3. Получите подписанный сертификат (и промежуточную цепочку).
  4. Установите на сервер и цепочку сертификатов, и закрытый ключ.
  5. Проверьте с помощью SSL-чеккера.

Часто задаваемые вопросы

Нет. Генерация ключа полностью происходит в вашем браузере. Страница не хранит ключи на сервере. Скачайте файл ключа сразу; как только вы закроете вкладку, он исчезнет.

Для большинства публичных сайтов RSA 2048 это безопасный универсальный стандарт, и он генерируется быстро. Выбирайте 3072 или 4096 бит, если нужен больший запас прочности и вы готовы к более медленной генерации ключа и handshake.

Да. Используйте *.example.com в качестве общего имени. Помните, что wildcard соответствует только одному уровню поддомена и что большинство DV-издателей требует DNS-проверку (не HTTP) для wildcard-сертификатов.

CSR это запрос: он говорит “подпишите этот открытый ключ для этих имён хостов”. Сертификат это то, что УЦ возвращает после подписи. CSR недолговечен и не устанавливается на сервер; именно сертификат реально обслуживает TLS.

Сопутствующие инструменты

Генератор ключей PGP

Создайте пару ключей OpenPGP в текстовом формате ASCII и сертификат отзыва с Curve25519, RSA 2048 или RSA 4096.

Генератор ключей API случайного типа

Создавайте на сервере ключи API длиной 8–128 символов в формате hex, base64url или алфавитно-цифровом формате либо UUIDv4.

Генератор SSL-сертификатов

Создайте самоподписанный сертификат SSL/TLS и закрытый ключ RSA полностью в браузере. Свои Common Name, SAN и срок действия, экспорт в PEM.

Генератор MD5

Создайте хеш MD5 для любого текста или файла. Результат, 128-битное значение в шестнадцатеричном формате, вычисляемое полностью в вашем браузере.

Кодировщик и декодировщик Base85

Кодируйте и декодируйте Base85 в варианте Adobe Ascii85, который используется в файлах PostScript и PDF. Компактнее Base64 для двоичных данных.

Шифр из числа в букву

Преобразуйте числа в буквы и обратно по шифру A=1, B=2 (A1Z26) для головоломок, загадок и подсказок в квест-комнатах.

Инструмент доступен на других языках