PT Privacy Tools

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

Создайте самоподписанный сертификат X.509 и закрытый ключ с SAN, сроком действия, флагом CA и назначениями ключа. Показывает отпечаток SHA-256. Работает локально.

🔒 Работает полностью в вашем браузере — ничего не загружается

Extensions
Key usage:
Extended key usage:

The key pair and certificate are created with Web Crypto in your browser. Nothing is uploaded.

Advertisement

Создайте самоподписанный сертификат за считаные секунды

Самоподписанный сертификат — это сертификат X.509, подписанный собственным закрытым ключом, а не удостоверяющим центром. Он идеально подходит для локальной разработки с HTTPS, внутренних панелей, тестовых сред, устройств IoT и лабораторных сетей. Этот генератор создаёт пару ключей с помощью Web Crypto API вашего браузера, формирует сертификат с @peculiar/x509 и выдаёт оба в виде файлов PEM — в том же формате, что и openssl req -x509. Он также декодирует результат и показывает субъект, серийный номер, даты действия, расширения и отпечаток SHA-256, чтобы вы могли точно проверить, что создали. Ничего не отправляется на сервер.

Выбор правильных параметров

Браузеры сопоставляют имена хостов только с альтернативными именами субъекта (SAN), поэтому добавьте каждое имя, которое будете вводить в адресной строке, например localhost, 127.0.0.1 и ::1. Ключи ECDSA P-256 компактные и быстрые и работают во всём современном программном обеспечении; выбирайте RSA 2048 или 4096, если этого требует более старая система. Для сертификатов разработки задавайте короткий срок действия, так как многие клиенты отклоняют конечные сертификаты, действительные дольше примерно 398 дней. Для сертификата сервера оставьте параметр CA выключенным. Включайте его только тогда, когда нужен частный корневой сертификат, подписывающий другие сертификаты; он автоматически добавляет назначения ключа keyCertSign и cRLSign.

Советы по доверию и безопасности

Поскольку никакой публичный центр не заверяет такой сертификат, браузеры будут показывать предупреждение, пока вы не импортируете его в хранилище доверенных сертификатов операционной системы или браузера. Доверяйте только сертификатам, которые создали сами, и сверяйте отпечаток SHA-256 при установке на другом компьютере. Закрытый ключ хранится как незашифрованный PEM: держите его с ограниченными правами доступа к файлу, никогда не добавляйте в систему контроля версий и создавайте новую пару ключей вместо повторного использования одной в разных проектах. Для публичных веб-сайтов вместо этого используйте сертификат от доверенного CA, например Let's Encrypt.

Как использовать

  1. Укажите субъект и SANЗадайте Common Name и перечислите все имена хостов или IP-адреса, которым должен соответствовать сертификат.
  2. Выберите параметрыВыберите тип ключа, срок действия, флаг CA и назначения ключа для своего сценария.
  3. Сгенерируйте и сохранитеСкачайте файлы PEM сертификата и закрытого ключа и сверьте отпечаток SHA-256 там, где их устанавливаете.

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

Закрытый ключ создаётся на сервере?
Нет. Пара ключей и сертификат создаются с помощью Web Crypto и @peculiar/x509 в вашем браузере. Ничего не загружается.
Почему браузер всё равно показывает предупреждение?
Самоподписанный сертификат не выдан доверенным центром. Импортируйте его в хранилище доверенных сертификатов операционной системы или браузера либо используйте только там, где вы контролируете клиентов.
Что делает параметр CA?
Он помечает сертификат как удостоверяющий центр (basicConstraints CA: true) и добавляет keyCertSign и cRLSign, чтобы им можно было подписывать другие сертификаты для частной тестовой PKI.
Можно ли использовать этот сертификат в продакшене?
Только для внутренних сервисов, где вы сами распространяете доверие. Публичные веб-сайты должны использовать сертификат от доверенного CA, например Let's Encrypt.
Advertisement