Utilia

Dekodues certifikatash X.509

Dekodo një certifikatë SSL/TLS, zinxhir ose CSR në shfletues. Shiko subjektin, lëshuesin, skadimin, SAN, çelësin publik dhe shenjën e gishtit SHA-256.

Certifikatat dekodohen në shfletuesin tënd. Asgjë nuk ngarkohet, ndaj certifikatat dhe CSR-të e brendshme mbeten në kompjuterin tënd.

Ky mjet e lexon certifikatën por nuk e verifikon nënshkrimin ose zinxhirin e besimit: një certifikatë e dekoduar nuk është provë se është e vërtetë.

Si ta dekodosh një certifikatë

  1. Ngjit një certifikatë te Certifikata, zinxhiri ose CSR (PEM ose Base64), ose hiq një skedar në zonën e lëshimit. Pranohen tekst PEM (-----BEGIN CERTIFICATE-----), DER binar (.der, .cer), një kërkesë për nënshkrim certifikate (.csr) dhe një pako PKCS#7 (.p7b).
  2. Kliko Dekodo. Një bllok PEM i ngjitur dekodohet edhe vetë sapo rreshti i tij -----END …----- është i plotë. Ngarko një shembull shfaq një certifikatë testi.
  3. Çdo certifikatë ose CSR merr tabelën e vet. Një shenjë tregon Data të vlefshme, Ka skaduar ose Ende e pavlefshme, dhe Kopjo PEM e kopjon përsëri si PEM (e dobishme pasi hap një skedar DER binar).
  4. Për një zinxhir (një certifikatë serveri e ndjekur nga ndërmjetëset e saj), çdo bllok dekodohet me radhë, dhe mjeti shënon Lëshuar nga certifikata n kur lëshuesi i një certifikate përputhet me subjektin e një tjetre në listë.

Çfarë nënkuptojnë fushat

  • Subjekti dhe Lëshuesi janë emra të dallueshëm: CN (common name), O (organizata), OU, L (qyteti), ST (shteti ose provinca), C (vendi). Një certifikatë ku lëshuesi barazohet me subjektin shënohet si E vetënënshkruar.
  • E vlefshme nga dhe E vlefshme deri janë datat notBefore dhe notAfter, të shfaqura në zonën tënde kohore, me numrin e ditëve të mbetura. Që nga 2020, shfletuesit refuzojnë certifikatat publike TLS me vlefshmëri mbi 398 ditë, dhe CA/Browser Forum po e shkurton më tej këtë kufi.
  • Numri serial shfaqet në heksadecimal (si në shfletuesit dhe OpenSSL) dhe në decimal.
  • Algoritmi i nënshkrimit dhe Çelësi publik: për RSA madhësia e modulit (2048, 3072, 4096 bite) dhe eksponenti publik (pothuajse gjithmonë 65537); për kurbat eliptike kurba (P-256, P-384…); njihet edhe Ed25519.
  • Zgjerimet: Subject Alternative Name (emrat e hosteve, adresat IP dhe adresat email që mbulon certifikata; shfletuesit e shpërfillin CN dhe përdorin vetëm SAN), Key Usage, Extended Key Usage (serverAuth, clientAuth, codeSigning…), Basic Constraints (CA: TRUE për një autoritet), identifikuesit e çelësit të subjektit dhe të autoritetit, CRL Distribution Points, Authority Information Access (përgjigjësi OCSP dhe URL CA Issuers) dhe Certificate Policies (DV, OV, EV). Zgjerimet e shënuara kritik duhet të kuptohen nga çdo softuer që e përdor certifikatën.
  • Shenja e gishtit SHA-1 dhe Shenja e gishtit SHA-256 janë hash-e të gjithë certifikatës DER, të llogaritura me API-n Web Crypto të shfletuesit; përputhen me openssl x509 -fingerprint. Pin i çelësit publik është SHA-256 në Base64 i informacionit të çelësit publik, formati që përdoret për certificate pinning.

Dekodimi nuk është verifikim

Ky mjet është një parser i pastër ASN.1/DER. Nuk e kontrollon nënshkrimin, nuk ndërton zinxhir besimi deri te një autoritet rrënjë dhe nuk kërkon listat e revokimit apo OCSP, sepse kjo do të kërkonte akses në rrjet. Përdore për të inspektuar një certifikatë, për të gjetur pse një emër hosti nuk përputhet ose kur skadon, jo për të vendosur nëse mund t’i besohet. Çelësat privatë refuzohen me qëllim: nëse ngjit një bllok PRIVATE KEY, nuk dekodohet, dhe duhet ta konsiderosh të ekspozuar nëse e ke ndarë ndonjëherë.

Pyetje të shpeshta

Si e marr certifikatën e një faqeje uebi?

Në shumicën e shfletuesve, kliko kyçin, hap shikuesin e certifikatës dhe eksportoje si PEM. Në linjën e komandës, openssl s_client -connect example.com:443 -showcerts shtyp të gjithë zinxhirin; ngjit blloqet këtu.

Cili është ndryshimi mes PEM dhe DER?

DER është kodimi binar i certifikatës. PEM janë të njëjtat bajte në Base64 mes rreshtave BEGIN dhe END, më të lehtë për t’u kopjuar e ngjitur. Mjeti i lexon të dyja dhe dekodon të njëjtën përmbajtje.

Çfarë është një CSR?

Një kërkesë për nënshkrim certifikate është ajo që i dërgon një autoriteti certifikimi: përmban subjektin e kërkuar, çelësin publik dhe shpesh SAN-et e kërkuara. Nuk ka ende lëshues, vlefshmëri apo numër serial; ato i shton autoriteti.

Pse shfletuesi im thotë që certifikata është e pavlefshme kur datat janë në rregull?

Datat janë vetëm një kontroll. Emri i hostit duhet të shfaqet te Subject Alternative Name, zinxhiri duhet të çojë te një rrënjë e besuar (një ndërmjetës që mungon është shkak i zakonshëm), përdorimi i çelësit duhet të lejojë TLS, dhe certifikata nuk duhet të jetë e revokuar.

A është e sigurt të ngjis një certifikatë këtu?

Po. Një certifikatë është informacion publik që serverët ia dërgojnë çdo vizitori, dhe ky mjet e përpunon lokalisht pa e ngarkuar. Vetëm çelësat privatë duhet të mbeten sekretë.