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 за удостоверяващ орган), Subject и Authority Key Identifiers, CRL Distribution Points, Authority Information Access (OCSP респондер и адрес на CA Issuers) и Certificate Policies (DV, OV, EV). Разширенията, означени като критично, трябва да бъдат разбирани от всеки софтуер, който използва сертификата.
  • Отпечатък SHA-1 и Отпечатък SHA-256 са хешове на целия DER сертификат, изчислени с Web Crypto API на браузъра; те съвпадат с openssl x509 -fingerprint. Пин на публичния ключ е SHA-256 в Base64 на информацията за публичния ключ, форматът, използван за закрепване на сертификати (certificate pinning).

Декодирането не е проверка

Този инструмент е чист анализатор на 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, а сертификатът не трябва да е отменен.

Безопасно ли е да поставям сертификат тук?

Да. Сертификатът е публична информация, която сървърите изпращат на всеки посетител, а този инструмент го обработва локално, без да го качва. Само частните ключове трябва да остават тайни.