Utilia

Декодер сертифікатів X.509

Декодуйте сертифікат SSL/TLS, ланцюжок або CSR у браузері. Перегляньте суб’єкт, емітента, термін дії, SAN, призначення ключа, відкритий ключ і відбиток SHA-256.

Сертифікати декодуються у вашому браузері. Нічого не завантажується на сервер, тож внутрішні сертифікати та CSR залишаються на вашому комп’ютері.

Цей інструмент читає сертифікат, але не перевіряє його підпис чи ланцюжок довіри: декодований сертифікат не є доказом того, що він справжній.

Як декодувати сертифікат

  1. Вставте сертифікат у поле Сертифікат, ланцюжок або CSR (PEM чи Base64) або перетягніть файл у зону для файлів. Приймаються текст PEM (-----BEGIN CERTIFICATE-----), двійковий DER (.der, .cer), запит на підпис сертифіката (.csr) і пакет PKCS#7 (.p7b).
  2. Натисніть Декодувати. Вставлений блок PEM також декодується, щойно його рядок -----END …----- завершено. Завантажити приклад показує тестовий сертифікат.
  3. Кожен сертифікат чи CSR отримує власну таблицю. Бейдж показує Дати дійсні, Прострочений або Ще не дійсний, а Копіювати PEM копіює його назад у форматі PEM (зручно після відкриття двійкового файлу DER).
  4. Для ланцюжка (сертифікат сервера, за яким ідуть проміжні) кожен блок декодується по порядку, а інструмент додає позначку Видано сертифікатом n, коли емітент сертифіката збігається із суб’єктом іншого зі списку.

Що означають поля

  • Суб’єкт і Емітент – це розрізнювальні імена: CN (загальне ім’я), O (організація), OU, L (місто), ST (штат чи область), C (країна). Сертифікат, емітент якого дорівнює суб’єкту, позначається як Самопідписаний.
  • Дійсний від і Дійсний до – це дати notBefore та notAfter, показані у вашому часовому поясі, із кількістю днів, що залишилися. Від 2020 року браузери відхиляють публічні сертифікати TLS із терміном дії понад 398 днів, а CA/Browser Forum ще більше скорочує цей ліміт.
  • Серійний номер показується в шістнадцятковому вигляді (як у браузерах і OpenSSL) та в десятковому.
  • Алгоритм підпису і Відкритий ключ: для RSA – розмір модуля (2048, 3072, 4096 біт) і відкрита експонента (майже завжди 65537); для еліптичних кривих – крива (P-256, P-384…); Ed25519 також розпізнається.
  • Розширення: Subject Alternative Name (імена хостів, IP-адреси й адреси електронної пошти, які охоплює сертифікат; браузери ігнорують CN і використовують лише SAN), Key Usage, Extended Key Usage (serverAuth, clientAuth, codeSigning…), Basic Constraints (CA: TRUE для центру сертифікації), ідентифікатори ключа суб’єкта й центру, точки розповсюдження CRL, Authority Information Access (відповідач OCSP і URL видавців центру) та політики сертифіката (DV, OV, EV). Розширення з позначкою критичне має розуміти будь-яке програмне забезпечення, що використовує сертифікат.
  • Відбиток SHA-1 і Відбиток SHA-256 – це хеші всього сертифіката DER, обчислені за допомогою Web Crypto API браузера; вони збігаються з openssl x509 -fingerprint. Пін відкритого ключа – це SHA-256 у Base64 від інформації про відкритий ключ, формат, який використовують для пінінгу сертифікатів.

Декодування – це не перевірка

Цей інструмент – чистий парсер ASN.1/DER. Він не перевіряє підпис, не будує ланцюжок довіри до кореневого центру й не запитує списки відкликання чи OCSP, бо для цього потрібен доступ до мережі. Використовуйте його, щоб оглянути сертифікат, з’ясувати, чому ім’я хоста не збігається або коли спливає термін дії, а не щоб вирішувати, чи можна йому довіряти. Закриті ключі відхиляються навмисно: якщо вставити блок PRIVATE KEY, його не буде декодовано, а якщо ви ним колись ділилися, вважайте його скомпрометованим.

Поширені запитання

Як отримати сертифікат сайту?

У більшості браузерів клацніть значок замка, відкрийте переглядач сертифіката й експортуйте його як PEM. У командному рядку openssl s_client -connect example.com:443 -showcerts виводить увесь ланцюжок; вставте блоки сюди.

Чим відрізняються PEM і DER?

DER – це двійкове кодування сертифіката. PEM – ті самі байти в Base64 між рядками BEGIN і END, які легше копіювати й вставляти. Інструмент читає обидва формати й декодує однаковий вміст.

Що таке CSR?

Запит на підпис сертифіката – це те, що ви надсилаєте центру сертифікації: він містить запитаний суб’єкт, відкритий ключ і часто запитані SAN. У ньому ще немає емітента, терміну дії чи серійного номера; їх додає центр.

Чому мій браузер каже, що сертифікат недійсний, хоча дати в порядку?

Дати – лише одна з перевірок. Ім’я хоста має бути в Subject Alternative Name, ланцюжок має вести до довіреного кореня (відсутній проміжний сертифікат – часта причина), призначення ключа має дозволяти TLS, а сертифікат не має бути відкликаний.

Чи безпечно вставляти сертифікат сюди?

Так. Сертифікат – це публічна інформація, яку сервери надсилають кожному відвідувачу, а цей інструмент обробляє його локально без завантаження на сервер. У таємниці мають лишатися лише закриті ключі.