Сертификаты X.509

Создание self‑signed сертификатов X.509 и CSR с ключами Ed25519 или ECDSA, разбор сертификатов и CSR из PEM/DER — локально в браузере.

Введённые данные и файлы остаются в браузере

Self‑signed

Формат: CN=Имя,O=Организация,C=Страна

По одному в строке или через запятую: DNS-имена (example.com, *.example.com), IP-адреса, адреса e-mail. Браузеры сверяют имя хоста с этими записями, а не с CN.

Разбор

Вставьте сертификат или CSR (PEM или Base64 DER) либо загрузите только что сгенерированный пример.

Сгенерируйте сертификат или CSR либо разберите имеющийся — PEM или JSON-сводка появится здесь.

На этой странице

Сертификаты X.509 создаёт самоподписанные сертификаты и запросы на подпись (CSR, PKCS#10), а также разбирает существующие сертификаты и CSR в читаемый JSON. Ключи генерируются и файлы разбираются в браузере, ничего не загружается на сервер.

Подробное описание функциональности

Генератор принимает субъект в виде DN (CN=…,O=…,OU=…,L=…,ST=…,C=XX; просто имя становится CN), алгоритм ключа (Ed25519, ECDSA P-256 или ECDSA P-384) и для сертификата срок действия от 1 до 36500 дней. Сгенерировать сертификат выдаёт самоподписанный PEM -----BEGIN CERTIFICATE-----, Сгенерировать CSR — PEM -----BEGIN CERTIFICATE REQUEST-----; в обоих случаях следом идёт новый приватный ключ в блоке PKCS#8 -----BEGIN PRIVATE KEY-----. Имена хостов, IP-адреса и адреса e-mail из поля Альтернативные имена (SAN) (по одному в строке или через запятую) записываются в расширение subjectAltName, а для CSR — в атрибут extensionRequest. CN туда автоматически не копируется, поэтому перечислите все имена, по которым к сервису будут обращаться.

Разбор принимает сертификат или CSR в PEM либо в Base64 DER. Для сертификата показываются субъект, издатель, notBefore / notAfter, OID алгоритмов подписи и ключа и Subject Alternative Names, с предупреждениями о просроченном или ещё не действующем сертификате, подписи SHA-1 или MD5, RSA короче 3072 бит и слабых кривых. Для CSR показываются субъект, тип ключа (например, ECDSA P-256 или RSA 2048), алгоритм подписи, запрошенные SAN, key usage, extended key usage и basic constraints, а также проверяется собственная подпись запроса (signatureValid). Если подпись не сходится, выводится предупреждение: запрос изменили или повредили после подписи.

Наборы сертификатов. Вставьте два и больше блока CERTIFICATE (например, fullchain.pem), и Разобрать построит отчёт о цепочке: для каждого сертификата найдёт издателя в наборе по имени и проверит подпись его открытым ключом (RSA PKCS#1, ECDSA P-256/P-384, Ed25519). Отмечаются несходящиеся звенья, отсутствующий издатель, издатель без признака CA и неверный порядок. Для каждого сертификата показываются отпечатки SHA-256 и SHA-1 и серийный номер. Хранилище доверенных корней, отзыв (CRL/OCSP) и ограничения имён не проверяются.

Результат можно скопировать или скачать как certificate.pem, request.csr.pem, x509.json или csr.json.

Практические примеры

Проверить CSR перед отправкой в УЦ: вставьте PEM CERTIFICATE REQUEST и нажмите Разобрать. Запрос OpenSSL для api.example.com покажет "publicKey": "RSA 2048", запрошенные DNS-имена и IP, "extendedKeyUsage": ["serverAuth", "clientAuth"] и "signatureValid": true.

Тестовый сертификат для локального сервиса: введите CN=api.example.com,O=Example GmbH,C=DE, выберите ECDSA P-256, оставьте 365 дней и нажмите Сгенерировать сертификат. Разбор результата покажет субъект CN=api.example.com, O=Example GmbH, C=DE и даты действия ровно через 365 дней.

Узнать, когда истекает сертификат: вставьте сертификат сервера (PEM или Base64 DER из конфига) и нажмите Разобрать; в notAfter дата окончания, а просроченный сертификат отмечается в Предупреждения.

Ключ и CSR за один шаг: заполните субъект, выберите алгоритм ключа и нажмите Сгенерировать CSR; приватный ключ сохраните у себя, а в УЦ отправьте только блок запроса.

Как использовать этот инструмент

  1. Опишите субъект

    Введите Субъект (CN), например CN=example.com,O=My Org,C=US, или просто имя хоста. В поле Альтернативные имена (SAN) перечислите все имена хостов и IP, по которым будут обращаться клиенты.

  2. Выберите ключ и срок

    Выберите Алгоритм ключа и для сертификата укажите Срок действия (дни).

  3. Сгенерируйте

    Нажмите Сгенерировать сертификат для самоподписанного сертификата или Сгенерировать CSR для запроса на подпись.

  4. Разберите готовый файл

    Вставьте сертификат или CSR в поле Вставьте PEM/DER и нажмите Разобрать, чтобы увидеть поля и Предупреждения.

Советы и лучшие практики

  • Браузеры не принимают сертификаты Ed25519 для TLS; для всего, что откроется в браузере, выбирайте ECDSA P-256.
  • Самоподписанному сертификату доверяют только там, где вы его установили; для публичного сайта отправьте CSR в удостоверяющий центр.
  • Приватный ключ выводится сразу под сертификатом или CSR: храните его отдельно и никогда не отправляйте в УЦ.
  • Браузеры не смотрят на CN и сверяют имя хоста только с Subject Alternative Names: перечислите все имена и IP, по которым доступен сервис, например example.com, www.example.com, 127.0.0.1.
  • "signatureValid": null означает, что алгоритм подписи CSR не поддерживается для проверки, а не что проверка провалилась.