Декодер сертификатов

Декодирование SSL/TLS сертификатов X.509 в формате PEM. Вся обработка выполняется в вашем браузере для максимальной безопасности и конфиденциальности.

Поддержка формата PEM Подробный анализ 100% на стороне клиента

Как использовать декодер сертификатов

1

Вставьте сертификат

Скопируйте ваш PEM-кодированный сертификат, включая заголовки BEGIN/END, и вставьте его в поле ввода

2

Автодекодирование

Инструмент автоматически разбирает структуру ASN.1/DER и извлекает все поля сертификата

3

Просмотр деталей

Просмотрите субъекта, издателя, сроки действия, SAN, информацию об открытом ключе и отпечаток SHA-256

Что такое X.509?

X.509 — это стандарт ITU-T, определяющий формат сертификатов открытого ключа. Сертификат X.509 связывает удостоверение (субъект) с открытым ключом и подписывается центром сертификации (CA). SSL/TLS сертификаты, используемые для HTTPS-сайтов, являются наиболее распространённым применением сертификатов X.509.

SSL/TLS-сертификаты

Сертификаты X.509 — основа HTTPS, проверяющие подлинность сервера и обеспечивающие зашифрованную связь

Инфраструктура открытых ключей

X.509 определяет формат сертификатов открытых ключей в PKI для привязки идентичностей к криптографическим ключам

Кодирование ASN.1/DER

Сертификаты используют правила ASN.1 DER для бинарной структуры, обёрнутые в PEM Base64 для текстовой передачи

PEM, DER, CRT, PFX — сравнение форматов сертификатов

Один и тот же сертификат X.509 можно сохранить в нескольких форматах файлов. Знание того, какой у вас, экономит время — вот как их различить:

Формат Расширения Кодировка Типичное применение
PEM .pem, .crt, .cer Base64 ASCII с заголовками BEGIN/END Веб-серверы (Nginx, Apache), большинство Linux-инструментов — формат, который декодирует этот инструмент
DER .der, .cer Сырой двоичный ASN.1 Java-хранилища ключей, некоторые средства Windows и встраиваемые инструменты
P7B / PKCS#7 .p7b, .p7c Base64 ASCII, только сертификаты (без закрытого ключа) Импорт цепочки сертификатов в Windows, IIS
PFX / PKCS#12 .pfx, .p12 Двоичный, защищён паролем, может включать закрытый ключ Импорт/экспорт в Windows, IIS, пакеты для подписи кода

Быстрая проверка: если файл открывается в текстовом редакторе и содержит -----BEGIN CERTIFICATE-----, это PEM. Если выглядит как двоичный мусор — это DER или PFX.

Полезные команды OpenSSL

Предпочитаете командную строку? Эти команды OpenSSL делают то же, что и этот инструмент — декодируют, проверяют даты и снимают отпечаток сертификата:

openssl x509 -in cert.pem -text -noout

Декодировать и показать все поля сертификата

openssl x509 -in cert.pem -noout -dates

Показать только сроки действия (notBefore / notAfter)

openssl x509 -in cert.pem -noout -fingerprint -sha256

Вывести отпечаток SHA-256

openssl x509 -in cert.der -inform DER -text -noout

Декодировать двоичный сертификат DER

openssl x509 -in cert.pem -noout -subject -issuer

Показать только Subject и Issuer

openssl s_client -connect example.com:443 -showcerts

Получить цепочку сертификатов с живого сервера

Справочник полей сертификата

Что означает каждое декодированное поле и почему оно важно:

Subject (кому выдан)

Идентичность, на которую выдан сертификат. Типовые компоненты: CN (общее имя), O (организация), C (страна).

Issuer (кем выдан)

Центр сертификации, подписавший сертификат. Если Subject совпадает с Issuer, сертификат самоподписанный.

Serial Number (серийный номер)

Уникальный номер, назначенный выдающим CA. Используется для проверки отзыва (CRL / OCSP).

Validity (Not Before / Not After)

Окно времени, в котором сертификат действителен. Вне этого окна браузеры и клиенты его отклоняют.

Public Key и размер ключа

Открытый ключ, привязанный к идентичности. Норма сейчас — RSA 2048 бит или EC 256 бит; RSA 1024 бит устарел.

Subject Alternative Names (SAN)

Список доменных имён и IP, которые покрывает сертификат. С 2015 года браузеры сверяются с SAN, а не с CN — сертификат example.com должен явно включать www.example.com, иначе валидация не пройдёт.

Signature Algorithm (алгоритм подписи)

Каким алгоритмом CA подписал сертификат. Требуются SHA-256 и выше; подписи SHA-1 отклоняются современными браузерами.

Fingerprint (отпечаток SHA-256)

Хэш всего DER-кодированного сертификата. Используется для пиннинга и сравнения сертификатов между системами.

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

Какие форматы сертификатов поддерживаются?

Инструмент поддерживает PEM-кодированные сертификаты (-----BEGIN CERTIFICATE-----). Форматы DER и P7B в настоящее время не поддерживаются.

Проверяет ли он цепочку сертификатов?

Инструмент декодирует и отображает детали сертификата, но не проверяет цепочку доверия по корневым CA.

Можно ли декодировать запросы на подпись сертификата (CSR)?

В настоящее время поддерживаются только сертификаты X.509. Декодирование CSR может быть добавлено в будущем обновлении.

В чём разница между PEM, DER, CRT и PFX?

PEM — это текст в Base64 с заголовками BEGIN/END (расширения .pem, .crt, .cer). DER — сырая двоичная ASN.1-форма тех же данных. CRT и CER — просто имена расширений, содержимое может быть как PEM, так и DER. PFX/PKCS#12 — защищённый паролем двоичный пакет, который может включать закрытый ключ; применяется в основном в Windows.

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

Декодирование и валидация — разные вещи. Сертификат может отлично парситься, но не проходить валидацию: истёк срок, имя хоста отсутствует в SAN, цепочка не ведёт к доверенному корневому CA или сертификат отозван. Инструмент показывает декодированные поля — сначала проверьте сроки действия и SAN.

Безопасно ли вставлять свой SSL-сертификат в этот инструмент?

Да. SSL-сертификат — общедоступная информация: его получает каждый посетитель вашего сайта, секретов в нём нет. А вот закрытый ключ не вставляйте нигде и никогда: этому инструменту он не нужен и использовать его он не может.

Что должно входить в цепочку сертификатов и какой длины она должна быть?

Отдаваемая цепочка содержит конечный (leaf) сертификат плюс промежуточные центры сертификации (CA), которые связывают его с доверенным корневым — обычно всего 2–3 сертификата. Сам корневой сертификат отправлять не нужно: клиенты уже хранят корни в своём хранилище доверия. Отсутствующий промежуточный сертификат — самая частая причина ошибок TLS в духе «в моём браузере работает, а на мобильном падает», поскольку одни клиенты кэшируют или угадывают промежуточные сертификаты, а другие — нет.

Как проверить сроки действия и SAN, прежде чем они приведут к сбою?

Декодируйте сертификат и посмотрите блок срока действия: notBefore — дата выпуска, notAfter — дата истечения срока; планируйте продление не позднее чем за 30 дней до notAfter. SAN (Subject Alternative Names) перечисляет все имена хостов, которые покрывает сертификат; имя, отсутствующее в этом списке, вызывает в браузерах ошибку несоответствия имени сертификата, даже если CN совпадает. Этот инструмент показывает оба поля сразу в декодированном виде.

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}