Utilia

X.509 tanúsítvány-dekódoló

Dekódolj SSL/TLS-tanúsítványt, láncot vagy CSR-t a böngésződben: tulajdonos, kibocsátó, lejárat, SAN, kulcshasználat, nyilvános kulcs és SHA-256 ujjlenyomat.

A tanúsítványokat a böngésződben dekódoljuk. Semmi nem kerül feltöltésre, így a belső tanúsítványok és CSR-ek a számítógépeden maradnak.

Ez az eszköz beolvassa a tanúsítványt, de nem ellenőrzi az aláírását vagy a bizalmi láncát: egy dekódolt tanúsítvány nem bizonyítja, hogy valódi.

Hogyan dekódolj egy tanúsítványt

  1. Illessz be egy tanúsítványt a Tanúsítvány, lánc vagy CSR (PEM vagy Base64) mezőbe, vagy húzz egy fájlt a célterületre. Elfogadott a PEM-szöveg (-----BEGIN CERTIFICATE-----), a bináris DER (.der, .cer), a tanúsítványkérelem (.csr) és a PKCS#7-csomag (.p7b) is.
  2. Kattints a Dekódolás gombra. A beillesztett PEM-blokkot az eszköz már azután is dekódolja, hogy a -----END …----- sora teljes. A Példa betöltése egy tesztszertifikátumot mutat.
  3. Minden tanúsítvány vagy CSR külön táblázatot kap. Egy jelvény mutatja az Érvényes dátumok, a Lejárt vagy a Még nem érvényes állapotot, a PEM másolása pedig PEM-ként másolja vissza (hasznos egy bináris DER-fájl megnyitása után).
  4. Lánc esetén (egy szerver-tanúsítvány az őt követő köztes tanúsítványokkal) minden blokkot sorrendben dekódol az eszköz, és jelzi, hogy A(z) n. tanúsítvány bocsátotta ki, ha egy tanúsítvány kibocsátója megegyezik a listában lévő másik tulajdonosával.

Mit jelentenek a mezők

  • A Tulajdonos (Subject) és a Kibocsátó (Issuer) megkülönböztető nevek: CN (közös név), O (szervezet), OU, L (város), ST (állam vagy tartomány), C (ország). Azt a tanúsítványt, amelynek kibocsátója megegyezik a tulajdonosával, Önaláírt jelöléssel látja el az eszköz.
  • Az Érvényes ekkortól és Érvényes eddig a notBefore és notAfter dátum, a te időzónádban, a hátralévő napok számával. 2020 óta a böngészők elutasítják a 398 napnál tovább érvényes nyilvános TLS-tanúsítványokat, és a CA/Browser Forum ezt a határt tovább rövidíti.
  • A Sorozatszám hexadecimálisan (mint a böngészőkben és az OpenSSL-ben) és decimálisan is látható.
  • Az Aláírási algoritmus és a Nyilvános kulcs: RSA esetén a modulus mérete (2048, 3072, 4096 bit) és a nyilvános kitevő (szinte mindig 65537); elliptikus görbéknél a görbe (P-256, P-384…); az Ed25519-et is felismeri.
  • A Kiterjesztések: Subject Alternative Name (a tanúsítvány által lefedett hosztnevek, IP-címek és e-mail-címek; a böngészők figyelmen kívül hagyják a CN-t, és csak a SAN-t használják), Key Usage, Extended Key Usage (serverAuth, clientAuth, codeSigning…), Basic Constraints (CA: TRUE a hitelesítésszolgáltatónál), a Subject és az Authority Key Identifier, CRL Distribution Points, Authority Information Access (OCSP-válaszadó és CA Issuers URL) és Certificate Policies (DV, OV, EV). A kritikus jelölésű kiterjesztéseket minden, a tanúsítványt használó szoftvernek értenie kell.
  • Az SHA-1 ujjlenyomat és az SHA-256 ujjlenyomat a teljes DER-tanúsítvány hash-ei, a böngésző Web Crypto API-jával számolva; megegyeznek az openssl x509 -fingerprint kimenetével. A Nyilvános kulcs PIN-je a nyilvános kulcs információinak Base64 SHA-256 értéke, a tanúsítvány-rögzítéshez (pinning) használt formátum.

A dekódolás nem ellenőrzés

Ez az eszköz egy tiszta ASN.1/DER-elemző. Nem ellenőrzi az aláírást, nem épít bizalmi láncot egy gyökér-hitelesítésszolgáltatóig, és nem kérdez le visszavonási listákat vagy OCSP-t, mert ehhez hálózati hozzáférés kellene. Arra használd, hogy megvizsgálj egy tanúsítványt, kiderítsd, miért nem egyezik egy hosztnév, vagy mikor jár le, ne arra, hogy eldöntsd, megbízható-e. A privát kulcsokat szándékosan elutasítja: ha egy PRIVATE KEY blokkot illesztesz be, azt nem dekódolja, és ha valaha megosztottad, tekintsd kompromittáltnak.

Gyakori kérdések

Hogyan szerezhetem meg egy weboldal tanúsítványát?

A legtöbb böngészőben kattints a lakat ikonra, nyisd meg a tanúsítványmegjelenítőt, és exportáld PEM-ként. Parancssorban az openssl s_client -connect example.com:443 -showcerts kiírja a teljes láncot; a blokkokat illeszd be ide.

Mi a különbség a PEM és a DER között?

A DER a tanúsítvány bináris kódolása. A PEM ugyanezek a bájtok Base64-ben, BEGIN és END sorok között, ami könnyebben másolható és beilleszthető. Az eszköz mindkettőt beolvassa, és ugyanazt a tartalmat dekódolja.

Mi az a CSR?

A tanúsítványkérelem az, amit egy hitelesítésszolgáltatónak küldesz: tartalmazza a kért tulajdonost, a nyilvános kulcsot és gyakran a kért SAN-okat. Még nincs kibocsátója, érvényessége vagy sorozatszáma; ezeket a hitelesítésszolgáltató adja hozzá.

Miért mondja a böngészőm, hogy a tanúsítvány érvénytelen, ha a dátumok rendben vannak?

A dátumok csak az egyik ellenőrzés. A hosztnévnek szerepelnie kell a Subject Alternative Name mezőben, a láncnak megbízható gyökérhez kell vezetnie (a hiányzó köztes tanúsítvány gyakori ok), a kulcshasználatnak engednie kell a TLS-t, és a tanúsítványt nem szabad visszavonni.

Biztonságos itt tanúsítványt beilleszteni?

Igen. A tanúsítvány nyilvános információ, amelyet a szerverek minden látogatónak elküldenek, az eszköz pedig helyben, feltöltés nélkül dolgozza fel. Csak a privát kulcsoknak kell titokban maradniuk.