Генератор самоподписанных сертификатов и CSR

Создайте самоподписанный сертификат TLS X.509, сертификат CA или CSR с SAN, ключами RSA 2048–4096 и своим сроком действия. Вывод в PEM; ключ остаётся у вас.

Что создать

Обычно имя хоста, например localhost или www.example.com.

Дополнительные DNS-имена и IP-адреса через запятую или с новой строки. Браузеры проверяют именно их, а не CN.

Ключ RSA создаётся через Web Crypto в вашем браузере и никогда не покидает устройство.

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

Создавайте файлы для TLS без командной строки OpenSSL: самоподписанный TLS-сертификат для локальной разработки или внутренних сервисов, самоподписанный сертификат CA для подписи собственных сертификатов или запрос на подпись сертификата (CSR), который отправляется в удостоверяющий центр. Вы получаете сертификат или CSR и закрытый ключ RSA в формате PEM, а также отпечаток SHA-256.

Как пользоваться Генератор SSL-сертификатов

  1. Выберите Что создать.
  2. Введите Общее имя (CN) и Альтернативные имена (SAN) (DNS-имена и IP-адреса), а также необязательные поля организации и местоположения.
  3. Выберите Длина ключа и для сертификатов — Срок действия (дней).
  4. Нажмите Сгенерировать и скачайте сертификат (.crt) или CSR (.csr) и закрытый ключ (.key).

Пример

Ввод
Self-signed TLS certificate, CN localhost, SANs 127.0.0.1 and ::1, RSA 2048, 365 days
Вывод
-----BEGIN CERTIFICATE-----
…
-----END CERTIFICATE-----
Subject: CN=localhost
SAN: DNS:localhost, IP:127.0.0.1, IP:::1

Когда использовать Генератор SSL-сертификатов

Используйте самоподписанные сертификаты для localhost, контейнеров разработки, сервисов интранета, прототипов IoT и проверки конфигурации TLS. Браузеры показывают предупреждение, пока вы не доверите сертификат (или вашему CA). Для публичных сайтов используйте CA вроде Let's Encrypt: создайте CSR здесь или поручите это серверу или ACME-клиенту.

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

Пара ключей RSA создаётся через Web Crypto API браузера (RSASSA-PKCS1-v1_5, открытая экспонента 65537) и импортируется в node-forge. Для сертификатов forge строит сертификат X.509 v3 со случайным положительным 128-битным серийным номером, сроком действия, начинающимся минуту назад, на выбранное число дней, совпадающими субъектом и издателем (самоподписанный) и расширениями: basicConstraints (CA true/false, критическое), keyUsage (digitalSignature + keyEncipherment для серверов, keyCertSign + cRLSign для CA), extendedKeyUsage serverAuth/clientAuth, subjectKeyIdentifier и subjectAltName. CN автоматически добавляется в SAN, если это имя хоста или IP. Подпись — SHA-256. CSR — запросы PKCS#10 с SAN в атрибуте extensionRequest. Ключи экспортируются в PKCS#8 PEM.

Распространенные Случаи Использования

  • Включение HTTPS на localhost или сервере разработки
  • Создание частного CA для внутренней сети или лаборатории
  • Генерация CSR для коммерческого сертификата
  • Проверка настроек TLS в Nginx, Apache или балансировщике

Примечание по Безопасности

Любой, у кого есть закрытый ключ, может выдавать себя за ваш сервер. Храните файл .key в тайне, не коммитьте его в Git и не используйте ключи разработки в продакшене.

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

Почему браузер пишет, что сертификату нельзя доверять?

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

Зачем нужны альтернативные имена субъекта (SAN)?

Современные браузеры игнорируют Common Name и сопоставляют имя хоста только со списком SAN, поэтому все используемые имена хостов и IP должны быть в нём перечислены.

Безопасен ли закрытый ключ?

Он создаётся в вашем браузере и никуда не отправляется. Скачайте его, храните с ограниченными правами доступа и никому не передавайте.

Какую длину ключа выбрать?

RSA 2048 — обычный минимум с широкой совместимостью; 3072 или 4096 дают больший запас ценой более медленных рукопожатий.

Другие категории