Utilia

X.509 dekoder certifikata

Dekodiraj SSL/TLS certifikat, lanac ili CSR u pregledniku. Vidi subjekt, izdavatelja, datum isteka, SAN, namjenu ključa, javni ključ i SHA-256 otisak.

Certifikati se dekodiraju u tvom pregledniku. Ništa se ne šalje, pa interni certifikati i CSR-ovi ostaju na tvom računalu.

Ovaj alat čita certifikat, ali ne provjerava njegov potpis ni lanac povjerenja: dekodirani certifikat nije dokaz da je autentičan.

Kako dekodirati certifikat

  1. Zalijepi certifikat u Certifikat, lanac ili CSR (PEM ili Base64) ili ispusti datoteku na zonu za ispuštanje. Prihvaćaju se PEM tekst (-----BEGIN CERTIFICATE-----), binarni DER (.der, .cer), zahtjev za potpisivanje certifikata (.csr) i PKCS#7 paket (.p7b).
  2. Klikni Dekodiraj. Zalijepljeni PEM blok dekodira se i čim je njegov redak -----END …----- potpun. Učitaj primjer prikazuje testni certifikat.
  3. Svaki certifikat ili CSR dobiva vlastitu tablicu. Oznaka prikazuje Valjani datumi, Istekao ili Još ne vrijedi, a Kopiraj PEM kopira ga natrag kao PEM (korisno nakon otvaranja binarne DER datoteke).
  4. Za lanac (certifikat poslužitelja iza kojeg slijede posredni certifikati) svaki se blok dekodira redom, a alat bilježi Izdao certifikat n kad izdavatelj nekog certifikata odgovara subjektu drugog s popisa.

Što znače polja

  • Subjekt i Izdavatelj su istaknuta imena (distinguished names): CN (uobičajeno ime), O (organizacija), OU, L (grad), ST (savezna država ili pokrajina), C (država). Certifikat čiji je izdavatelj jednak subjektu označen je kao Samopotpisan.
  • Vrijedi od i Vrijedi do su datumi notBefore i notAfter, prikazani u tvojoj vremenskoj zoni, s brojem preostalih dana. Od 2020. preglednici odbijaju javne TLS certifikate koji vrijede dulje od 398 dana, a CA/Browser Forum to ograničenje dodatno skraćuje.
  • Serijski broj prikazuje se heksadecimalno (kao u preglednicima i OpenSSL-u) i decimalno.
  • Algoritam potpisa i Javni ključ: za RSA veličina modula (2048, 3072, 4096 bitova) i javni eksponent (gotovo uvijek 65537); za eliptične krivulje krivulja (P-256, P-384…); prepoznaje se i Ed25519.
  • Proširenja: Subject Alternative Name (nazivi hostova, IP adrese i adrese e-pošte koje certifikat pokriva; preglednici ignoriraju CN i koriste samo SAN), Key Usage, Extended Key Usage (serverAuth, clientAuth, codeSigning…), Basic Constraints (CA: TRUE za izdavačko tijelo), identifikatori ključa subjekta i izdavatelja, CRL Distribution Points, Authority Information Access (OCSP odgovarač i URL izdavatelja CA) i Certificate Policies (DV, OV, EV). Proširenja označena kao kritično mora razumjeti svaki program koji koristi certifikat.
  • SHA-1 otisak i SHA-256 otisak su hashevi cijelog DER certifikata, izračunati Web Crypto API-jem preglednika; podudaraju se s openssl x509 -fingerprint. Pin javnog ključa je Base64 SHA-256 informacije o javnom ključu, format koji se koristi za pinning certifikata.

Dekodiranje nije provjera

Ovaj alat je čisti ASN.1/DER parser. Ne provjerava potpis, ne gradi lanac povjerenja do korijenskog tijela i ne ispituje popise opozvanih certifikata ni OCSP, jer bi za to trebao mrežni pristup. Koristi ga za pregled certifikata, za otkrivanje zašto se naziv hosta ne podudara ili kada istječe, a ne za odluku može li mu se vjerovati. Privatni ključevi se namjerno odbijaju: ako zalijepiš blok PRIVATE KEY, on se ne dekodira, a ako si ga ikad podijelio, smatraj ga izloženim.

Česta pitanja

Kako dobiti certifikat web-stranice?

U većini preglednika klikni lokot, otvori preglednik certifikata i izvezi ga kao PEM. U naredbenom retku openssl s_client -connect example.com:443 -showcerts ispisuje cijeli lanac; blokove zalijepi ovdje.

Koja je razlika između PEM-a i DER-a?

DER je binarno kodiranje certifikata. PEM su isti bajtovi u Base64 između redaka BEGIN i END, što je lakše kopirati i zalijepiti. Alat čita oba i dekodira isti sadržaj.

Što je CSR?

Zahtjev za potpisivanje certifikata je ono što šalješ izdavaču certifikata: sadrži traženi subjekt, javni ključ i često tražene SAN-ove. Još nema izdavatelja, valjanosti ni serijskog broja; njih dodaje izdavač.

Zašto preglednik kaže da je certifikat neispravan iako su datumi u redu?

Datumi su samo jedna provjera. Naziv hosta mora biti u Subject Alternative Name, lanac mora voditi do pouzdanog korijena (nedostajući posredni certifikat čest je uzrok), namjena ključa mora dopuštati TLS, a certifikat ne smije biti opozvan.

Je li sigurno ovdje zalijepiti certifikat?

Da. Certifikat je javna informacija koju poslužitelji šalju svakom posjetitelju, a ovaj ga alat obrađuje lokalno bez slanja. Samo privatni ključevi moraju ostati tajni.