Utilia

X.509 sertifikato dekoderis

Dekoduok SSL/TLS sertifikatą, grandinę ar CSR naršyklėje. Pamatyk subjektą, išdavėją, galiojimo datą, SAN, viešąjį raktą ir SHA-256 kontrolinį kodą.

Sertifikatai dekoduojami tavo naršyklėje. Nieko neįkeliama, todėl vidiniai sertifikatai ir CSR lieka tavo kompiuteryje.

Šis įrankis nuskaito sertifikatą, bet netikrina jo parašo ar pasitikėjimo grandinės: dekoduotas sertifikatas nėra įrodymas, kad jis tikras.

Kaip dekoduoti sertifikatą

  1. Įklijuok sertifikatą į Sertifikatas, grandinė ar CSR (PEM arba Base64) arba nutempk failą į nutempimo sritį. Priimamas PEM tekstas (-----BEGIN CERTIFICATE-----), dvejetainis DER (.der, .cer), sertifikato pasirašymo užklausa (.csr) ir PKCS#7 paketas (.p7b).
  2. Spustelėk Dekoduoti. Įklijuotas PEM blokas taip pat dekoduojamas, vos tik užbaigiama jo -----END …----- eilutė. Įkelti pavyzdį parodo bandomąjį sertifikatą.
  3. Kiekvienas sertifikatas ar CSR gauna savo lentelę. Ženklelis rodo Datos tinkamos, Nebegalioja arba Dar negalioja, o Kopijuoti PEM nukopijuoja jį atgal kaip PEM (patogu atidarius dvejetainį DER failą).
  4. Grandinėje (serverio sertifikatas ir po jo einantys tarpiniai) kiekvienas blokas dekoduojamas iš eilės, o įrankis nurodo Išdavė n sertifikatas, kai sertifikato išdavėjas sutampa su kito sąraše esančio sertifikato subjektu.

Ką reiškia laukai

  • Subjektas ir Išdavėjas yra išskirtiniai vardai: CN (bendrasis vardas), O (organizacija), OU, L (miestas), ST (valstija ar provincija), C (šalis). Sertifikatas, kurio išdavėjas lygus subjektui, pažymimas Pasirašytas pats.
  • Galioja nuo ir Galioja iki yra notBefore ir notAfter datos, rodomos tavo laiko juostoje su likusių dienų skaičiumi. Nuo 2020 m. naršyklės atmeta viešuosius TLS sertifikatus, galiojančius ilgiau nei 398 dienas, o CA/Browser Forum šią ribą dar trumpina.
  • Serijos numeris rodomas šešioliktaine (kaip naršyklėse ir OpenSSL) ir dešimtaine forma.
  • Parašo algoritmas ir Viešasis raktas: RSA atveju modulio dydis (2048, 3072, 4096 bitai) ir viešasis rodiklis (beveik visada 65537); elipsinėms kreivėms – kreivė (P-256, P-384…); Ed25519 taip pat atpažįstamas.
  • Plėtiniai: Subject Alternative Name (serverių vardai, IP adresai ir el. pašto adresai, kuriuos sertifikatas apima; naršyklės nepaiso CN ir naudoja tik SAN), Key Usage, Extended Key Usage (serverAuth, clientAuth, codeSigning…), Basic Constraints (CA: TRUE institucijai), Subject ir Authority Key Identifiers, CRL Distribution Points, Authority Information Access (OCSP atsakiklis ir CA Issuers URL) ir Certificate Policies (DV, OV, EV). Plėtinius, pažymėtus kritinis, privalo suprasti bet kuri sertifikatą naudojanti programinė įranga.
  • SHA-1 kontrolinis kodas ir SHA-256 kontrolinis kodas yra viso DER sertifikato maišos, apskaičiuotos naršyklės Web Crypto API; jos sutampa su openssl x509 -fingerprint. Viešojo rakto prisegimas yra viešojo rakto informacijos SHA-256 Base64 forma, naudojama sertifikatų prisegimui.

Dekoduoti nereiškia patikrinti

Šis įrankis yra gryna ASN.1/DER analizė. Jis netikrina parašo, nekuria pasitikėjimo grandinės iki šakninės institucijos ir neklausia atšaukimo sąrašų ar OCSP, nes tam reikėtų tinklo prieigos. Naudok jį sertifikatui apžiūrėti, išsiaiškinti, kodėl serverio vardas nesutampa ar kada baigiasi galiojimas, bet ne spręsti, ar juo galima pasitikėti. Privatieji raktai tyčia atmetami: jei įklijuosi PRIVATE KEY bloką, jis nebus dekoduotas, o jei kada nors juo dalijaisi, laikyk jį atskleistu.

Dažnai užduodami klausimai

Kaip gauti svetainės sertifikatą?

Daugumoje naršyklių spustelėk spynos piktogramą, atidaryk sertifikato peržiūros langą ir eksportuok jį kaip PEM. Komandinėje eilutėje openssl s_client -connect example.com:443 -showcerts išspausdina visą grandinę; blokus įklijuok čia.

Kuo skiriasi PEM ir DER?

DER yra dvejetainis sertifikato kodavimas. PEM yra tie patys baitai Base64 formatu tarp BEGIN ir END eilučių, kuriuos lengviau kopijuoti ir įklijuoti. Įrankis skaito abu ir dekoduoja tą patį turinį.

Kas yra CSR?

Sertifikato pasirašymo užklausa yra tai, ką siunti sertifikavimo institucijai: joje yra prašomas subjektas, viešasis raktas ir dažnai prašomi SAN. Jos dar nėra išdavėjo, galiojimo ar serijos numerio; juos prideda institucija.

Kodėl naršyklė sako, kad sertifikatas netinkamas, nors datos geros?

Datos yra tik vienas patikrinimas. Serverio vardas turi būti Subject Alternative Name, grandinė turi vesti į patikimą šaknį (trūkstamas tarpinis sertifikatas yra dažna priežastis), rakto paskirtis turi leisti TLS, o sertifikatas neturi būti atšauktas.

Ar saugu čia klijuoti sertifikatą?

Taip. Sertifikatas yra vieša informacija, kurią serveriai siunčia kiekvienam lankytojui, o šis įrankis jį apdoroja vietoje neįkeldamas. Slaptais turi likti tik privatieji raktai.