Pack Camo

Dekoder certyfikatów X.509

Odczytaj podmiot, wystawcę, ważność, SAN i odciski dowolnego certyfikatu PEM lub DER.

Wszystko działa lokalnie — nic nie jest wysyłane.

Certyfikat

2 certyfikaty

…

Zobacz dokładnie, co zawiera certyfikat

Ten dekoder czyta certyfikaty X.509 — certyfikaty SSL/TLS każdej witryny HTTPS, a także te używane do uwierzytelniania klientów, podpisywania kodu i S/MIME — i pokazuje ich zawartość: podmiot i wystawcę, daty ważności i liczbę dni do wygaśnięcia, alternatywne nazwy podmiotu, typ i rozmiar klucza publicznego, wszystkie rozszerzenia oraz odciski SHA-1 i SHA-256. Wklej jeden lub kilka bloków PEM, sam Base64 albo upuść plik .crt, .cer, .der, .pem lub .p7b. Pełny łańcuch jest dekodowany certyfikat po certyfikacie, a każdy podpis sprawdzany względem następnego. Analiza odbywa się w Twojej przeglądarce; nic nie jest wysyłane.

Jak zdekodować certyfikat

  1. 1Wklej certyfikat razem z liniami -----BEGIN CERTIFICATE----- i -----END CERTIFICATE----- albo upuść plik na pole wejściowe.
  2. 2Przeczytaj podsumowanie: dla kogo go wystawiono, kto go wystawił i czy jest dziś ważny.
  3. 3Sprawdź Subject Alternative Names: przeglądarki porównują nazwę hosta z tą listą, a nie z Common Name.
  4. 4Skopiuj odcisk, aby porównać go z inną kopią, albo wyeksportuj wszystko jako JSON.

Co zawiera certyfikat X.509?

Certyfikat wiąże klucz publiczny z nazwą i jest podpisany przez wystawcę, który za to powiązanie poręcza. Podmiot to ten, dla kogo jest certyfikat, a wystawca to ten, kto go podpisał; oba zapisuje się jako nazwy wyróżniające, np. CN=example.com, O=Example Inc., C=US. Okres ważności podaje pierwszą i ostatnią chwilę, w której można ufać certyfikatowi, a numer seryjny jednoznacznie identyfikuje go wśród wszystkiego, co podpisał wystawca — to on pojawia się na listach unieważnień.

Cała reszta znajduje się w rozszerzeniach. Od wersji 3 formatu, której przestrzega każdy używany dziś certyfikat, to one niosą większość znaczenia: jakie nazwy obejmuje certyfikat, do czego można używać klucza, czy może podpisywać inne certyfikaty i gdzie sprawdzić, czy został unieważniony.

Rozszerzenia, które mają znaczenie

Subject Alternative Name (SAN)
Nazwy DNS, adresy IP, adresy e-mail i URI, dla których certyfikat jest ważny. Przeglądarki ignorują Common Name i sprawdzają tylko tę listę; symbol wieloznaczny, np. <code>*.example.com</code>, obejmuje jeden poziom subdomen.
Key Usage i Extended Key Usage
Co klucz może robić: podpisywać, szyfrować klucze, podpisywać certyfikaty; i w jakim celu, np. uwierzytelnianie serwera TLS lub podpisywanie kodu.
Basic Constraints
Czy jest to urząd certyfikacji (<code>CA:TRUE</code>), który może podpisywać inne certyfikaty, i ile poziomów pośrednich może po nim nastąpić (długość ścieżki).
Authority Information Access i CRL Distribution Points
Skąd pobrać certyfikat wystawcy, gdzie jest jego responder OCSP i gdzie znajduje się jego lista unieważnionych certyfikatów.
Certificate Policies
Jaki poziom weryfikacji zastosował urząd: weryfikacja domeny (DV), organizacji (OV) lub rozszerzona (EV).
Signed Certificate Timestamps
Dowód, że certyfikat zapisano w publicznych dziennikach Certificate Transparency, czego przeglądarki wymagają od publicznie zaufanych certyfikatów TLS.

PEM, DER, CRT i CER

DER to binarne kodowanie certyfikatu (ASN.1 Distinguished Encoding Rules). PEM to te same bajty w Base64 między liniami -----BEGIN CERTIFICATE-----, dzięki czemu można je wkleić do plików tekstowych i e-maili; kilka bloków PEM w jednym pliku tworzy łańcuch. Rozszerzenia .crt i .cer nic nie mówią o kodowaniu w środku — oba warianty są popularne — a ten dekoder przyjmuje oba. Plik .p7b to pakiet PKCS#7 z kilkoma certyfikatami i również jest obsługiwany.

Aby przekonwertować w wierszu poleceń, openssl x509 -in cert.der -inform der -out cert.pem zamienia DER na PEM, a openssl x509 -in cert.pem -noout -text wypisuje mniej więcej te same informacje co ta strona.

Łańcuchy, certyfikaty samopodpisane i odciski

Serwer powinien wysyłać własny certyfikat, a po nim certyfikaty pośrednie prowadzące do zaufanego certyfikatu głównego. Gdy wkleisz tu łańcuch, podpis każdego certyfikatu jest weryfikowany kluczem publicznym następnego, więc od razu widać, czy kolejność jest poprawna i czy nie brakuje ogniwa. Certyfikat, którego podmiot i wystawca są takie same, a podpis weryfikuje się jego własnym kluczem, jest samopodpisany: to albo główny urząd certyfikacji, albo certyfikat testowy.

Odcisk to hash całego certyfikatu. Odciski SHA-256 to standardowy sposób przypinania lub porównywania certyfikatów; odciski SHA-1 wciąż pokazują starsze narzędzia, np. przeglądarka certyfikatów Windows. Hash SPKI SHA-256 obejmuje tylko klucz publiczny i nie zmienia się, gdy certyfikat zostaje odnowiony z tym samym kluczem. Aby utworzyć parę kluczy dla nowego certyfikatu, skorzystaj z generatora par kluczy.

Najczęstsze pytania

Jak sprawdzić, kiedy wygasa certyfikat SSL?
Wklej certyfikat i spójrz na Ważność: data Nie później niż to moment wygaśnięcia, a plakietka pokazuje, ile dni zostało. Aby pobrać certyfikat witryny, otwórz go w przeglądarce certyfikatów i wyeksportuj albo uruchom openssl s_client -connect example.com:443 -showcerts.
Czym różni się PEM od DER?
Zawierają ten sam certyfikat. DER jest binarny; PEM to te dane binarne w Base64 z liniami BEGIN i END. To narzędzie czyta oba.
Dlaczego przeglądarka twierdzi, że nazwa się nie zgadza?
Nazwa hosta musi znajdować się w rozszerzeniu Subject Alternative Name. Przeglądarki nie patrzą już na Common Name, więc certyfikat z nazwą tylko w CN zostanie odrzucony.
Czy mogę zdekodować cały łańcuch certyfikatów?
Tak. Wklej wszystkie bloki PEM razem albo upuść pakiet .pem lub .p7b. Każdy certyfikat jest pokazywany po kolei, a każdy podpis sprawdzany kluczem następnego certyfikatu.
Co oznacza „samopodpisany”?
Certyfikat został podpisany własnym kluczem, a nie przez osobny urząd certyfikacji. Certyfikaty głównych urzędów są samopodpisane z założenia; w przypadku witryny certyfikat samopodpisany jest zaufany tylko tam, gdzie zainstalowano go ręcznie.
Czy można zdekodować klucz prywatny lub CSR?
Nie. Narzędzie czyta tylko certyfikaty i poinformuje Cię, jeśli wkleisz klucz prywatny, klucz publiczny lub żądanie podpisania certyfikatu.
Czy wklejanie tu certyfikatu jest bezpieczne?
Certyfikaty są publiczne — serwery wysyłają je każdemu odwiedzającemu — a dekodowanie i tak odbywa się w całości w Twojej przeglądarce. Nigdy nie wklejaj klucza prywatnego na żadnej stronie.