Перейти к содержимому
Aback Tools Logo

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

Создавайте самоподписанные SSL-сертификаты X.509 для локальной разработки и тестирования. Выбирайте ключи RSA (2048/4096 бит) или ECDSA (P-256/P-384), задавайте Common Name, срок действия и дополнительные данные организации. Вся генерация сертификата происходит полностью в вашем браузере через Web Crypto API — закрытый ключ никогда не покидает устройство.

Self-Signed Certificate Generator

Generate a self-signed X.509 certificate for local development using your browser's Web Crypto API. Choose RSA or ECDSA keys, set the Common Name, and get PEM output instantly. All keys and certificates are generated locally and never transmitted.

The primary domain name this certificate is for

Two-letter country code

Configure the certificate options above and click "Generate Certificate" to create a self-signed X.509 certificate for local development.

Почему стоит использовать наш генератор самоподписанных сертификатов?

  • Создание самоподписанных сертификатов X.509: создавайте полностью соответствующие стандарту сертификаты X.509v3 с корректными расширениями Basic Constraints, Key Usage и Subject Key Identifier. Сертификат включает Common Name, необязательные поля организации и страны и готов к немедленному использованию в средах разработки.
  • Поддержка ключей RSA и ECDSA: выбирайте между алгоритмами RSA (2048 или 4096 бит) и ECDSA (P-256 или P-384). Оба создают криптографически стойкие ключи с помощью встроенного Web Crypto API браузера. Выберите алгоритм, который лучше всего подходит вашим задачам разработки и тестирования.
  • 100 % в браузере — без загрузки на сервер: вся генерация ключей и создание сертификата происходят полностью в вашем браузере с помощью Web Crypto API и библиотеки PKIjs. Закрытый ключ и сертификат никогда не покидают устройство: без загрузок, сетевых запросов и серверной обработки.
  • Бесплатно и без регистрации: создавайте неограниченное количество самоподписанных сертификатов для локальной разработки без регистрации, аккаунта и ограничений. Скачивайте файлы PEM или копируйте вывод напрямую — совершенно бесплатно и навсегда.

Типичные сценарии использования генератора самоподписанных сертификатов

  • Тестирование HTTPS при локальной разработке: разработчики используют самоподписанные сертификаты, чтобы включить HTTPS на локальных серверах разработки. Проверяйте безопасные cookie, service workers, API геолокации и другие функции браузера, требующие защищённого контекста, не покупая сертификат от ЦС.
  • Сервисы внутренних сетей: разворачивайте самоподписанные сертификаты на внутренних серверах разработки, в staging-средах и конвейерах CI/CD, где сертификаты доверенных ЦС непрактичны. Отлично подходит для внутренних инструментов, панелей и микросервисов в сетях разработки.
  • Интеграционное тестирование и QA: инженеры по тестированию используют самоподписанные сертификаты в автоматизированных наборах тестов для проверки поведения TLS-рукопожатия, логики валидации сертификатов и обработки ошибок без зависимости от внешних центров сертификации или продакшн-инфраструктуры.
  • Разработка API и вебхуков: разработчики, создающие API и интеграции с вебхуками, используют самоподписанные сертификаты для тестирования завершения TLS, взаимной аутентификации TLS (mTLS) и логики закрепления сертификатов во время разработки, не поднимая инфраструктуру управления сертификатами.
  • Изучение управления сертификатами: ИТ-специалисты и студенты используют генераторы самоподписанных сертификатов, чтобы изучить структуру сертификатов X.509, инфраструктуру открытых ключей (PKI) и концепции TLS. Разберитесь с полями, расширениями и типами ключей сертификата на практике.
  • Разработка с Docker и контейнерами: DevOps-инженеры создают самоподписанные сертификаты для разработки в контейнерах Docker, тестирования ingress в Kubernetes и TLS-связи между контейнерами в локальных кластерах, таких как Minikube и kind.

Что такое самоподписанный сертификат?

Самоподписанный сертификат — это сертификат X.509, в котором субъект и издатель совпадают: сертификат подписывает сам себя, а не подписывается доверенным центром сертификации (ЦС). В отличие от сертификатов, подписанных ЦС, самоподписанные не являются автоматически доверенными для браузеров и операционных систем. Когда браузер встречает самоподписанный сертификат, он показывает предупреждение безопасности, потому что сертификат нельзя проследить до доверенного корневого ЦС по цепочке доверия. Однако самоподписанные сертификаты обеспечивают такой же уровень шифрования, как сертификаты от ЦС, и вполне подходят для разработки, тестирования и внутреннего использования.

Как работает наш генератор самоподписанных сертификатов

  1. Выберите алгоритм ключа: выберите RSA (2048 или 4096 бит) или ECDSA (P-256 или P-384). Пара ключей создаётся с помощью встроенного Web Crypto API браузера, использующего криптографически стойкую генерацию случайных чисел.
  2. Настройте поля сертификата: введите Common Name (CN) — доменное имя, которое будет защищать сертификат (например, localhost, myapp.local). При необходимости добавьте организацию (O) и страну (C). Задайте срок действия от 30 дней до 10 лет.
  3. Создание сертификата: наш инструмент использует библиотеку pkijs для создания соответствующего сертификата X.509v3 с нужными расширениями — Basic Constraints (CA: true), Key Usage (digitalSignature, keyEncipherment, keyCertSign) и Subject Key Identifier. Сертификат подписывается алгоритмом SHA-256 с использованием созданного закрытого ключа. Вся обработка выполняется локально в вашем браузере.

Самоподписанные и подписанные ЦС сертификаты

  • Доверие: сертификаты, подписанные ЦС, доверенны для браузеров по умолчанию, поскольку они восходят к корневому ЦС, предустановленному в хранилище доверия браузера. Самоподписанные сертификаты требуют ручной настройки доверия: их нужно добавить в хранилище доверия системы или браузера либо принять предупреждение браузера.
  • Стоимость: сертификаты, подписанные ЦС, стоят денег (хотя для публичных доменов есть бесплатные варианты, например Let's Encrypt). Самоподписанные сертификаты полностью бесплатны и могут быть созданы мгновенно для любого домена, включая локальные и внутренние имена.
  • Шифрование: самоподписанные и подписанные ЦС сертификаты используют одни и те же криптографические алгоритмы и обеспечивают одинаковую стойкость шифрования. Разница только в цепочке доверия, а не в безопасности самого TLS-соединения.
  • Сценарии использования: сертификаты, подписанные ЦС, обязательны для публичных продакшн-сайтов. Самоподписанные сертификаты идеальны для локальной разработки, внутренних сетей, тестовых сред, конвейеров CI/CD и образовательных целей.

Поля и расширения сертификата

Наш генератор самоподписанных сертификатов создаёт сертификаты X.509v3 со следующими полями и расширениями. Common Name (CN) идентифицирует домен или имя сервера, который защищает сертификат. Subject Key Identifier однозначно идентифицирует открытый ключ сертификата. Basic Constraints помечает сертификат как ЦС (центр сертификации), что позволяет ему подписывать другие сертификаты. Key Usage определяет разрешённые операции: цифровые подписи, шифрование ключей, подпись сертификатов и подпись CRL. Отпечаток SHA-256 однозначно идентифицирует сертификат и может использоваться для закрепления сертификатов. Все метки времени используют UTC для единообразной интерпретации на разных платформах.

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

Самоподписанный сертификат — это сертификат X.509, подписанный его создателем, а не доверенным центром сертификации. Используйте их для локальной разработки, внутренних сетей, тестирования, конвейеров CI/CD и обучения. Они обеспечивают такое же шифрование, как сертификаты, подписанные ЦС, но требуют ручной настройки доверия в браузере.

Браузеры показывают предупреждения, потому что самоподписанные сертификаты не подписаны доверенным ЦС, предустановленным в хранилище доверия браузера. Шифрование TLS при этом полностью работает. Чтобы избежать предупреждения при разработке, добавьте сертификат в хранилище доверия системы или используйте такие инструменты, как mkcert.

Обычно рекомендуется ECDSA: P-256 обеспечивает безопасность, эквивалентную RSA 3072 бита, при меньших ключах и более быстрой генерации. Выбирайте RSA только если ваши инструменты должны быть совместимы со старыми системами без поддержки ECDSA.

Используйте точный домен или IP, к которому будете обращаться в браузере, например "localhost", "127.0.0.1", "dev.local" или имя хоста вашей машины. CN должен совпадать с адресом в браузере, иначе появится предупреждение о несовпадении имени хоста.

Нет. Самоподписанные сертификаты никогда не следует использовать в продакшене. Используйте Let's Encrypt для бесплатных сертификатов, подписанных ЦС, или приобретайте сертификаты у доверенных ЦС для рабочих сайтов и сервисов.

В macOS добавьте PEM в «Связку ключей» и отметьте как доверенный. В Windows импортируйте в «Доверенные корневые центры сертификации» через certlm.msc. В Linux скопируйте в /usr/local/share/ca-certificates/ и выполните update-ca-certificates.

Да. Ключи используют Web Crypto API с криптографически стойкой генерацией случайных чисел. Сертификат X.509v3 создаётся с помощью библиотеки pkijs и подписывается алгоритмом SHA-256.

Да. 100 % бесплатно, без регистрации, без аккаунта и без ограничений на использование. Вся обработка происходит в браузере, без вычислений на сервере и хранения данных.