Utilia

Αποκωδικοποιητής πιστοποιητικών X.509

Αποκωδικοποιήστε πιστοποιητικό SSL/TLS, αλυσίδα ή CSR στο πρόγραμμα περιήγησής σας. Δείτε υποκείμενο, εκδότη, λήξη, SAN, χρήση κλειδιού και αποτύπωμα SHA-256.

Τα πιστοποιητικά αποκωδικοποιούνται στο πρόγραμμα περιήγησής σας. Τίποτα δεν μεταφορτώνεται, οπότε τα εσωτερικά πιστοποιητικά και τα CSR μένουν στον υπολογιστή σας.

Το εργαλείο διαβάζει το πιστοποιητικό αλλά δεν επαληθεύει την υπογραφή ή την αλυσίδα εμπιστοσύνης του: ένα αποκωδικοποιημένο πιστοποιητικό δεν αποδεικνύει ότι είναι γνήσιο.

Πώς να αποκωδικοποιήσετε ένα πιστοποιητικό

  1. Επικολλήστε ένα πιστοποιητικό στο πεδίο Πιστοποιητικό, αλυσίδα ή CSR (PEM ή Base64) ή σύρετε ένα αρχείο στην περιοχή απόθεσης. Γίνονται δεκτά κείμενο PEM (-----BEGIN CERTIFICATE-----), δυαδικό DER (.der, .cer), αίτημα υπογραφής πιστοποιητικού (.csr) και δέσμη PKCS#7 (.p7b).
  2. Πατήστε Αποκωδικοποίηση. Ένα επικολλημένο μπλοκ PEM αποκωδικοποιείται επίσης μόλις ολοκληρωθεί η γραμμή -----END …-----. Το Φόρτωση παραδείγματος δείχνει ένα πιστοποιητικό δοκιμής.
  3. Κάθε πιστοποιητικό ή CSR παίρνει τον δικό του πίνακα. Ένα σήμα δείχνει Έγκυρες ημερομηνίες, Έχει λήξει ή Δεν ισχύει ακόμη, και το Αντιγραφή PEM το αντιγράφει ξανά ως PEM (χρήσιμο μετά το άνοιγμα ενός δυαδικού αρχείου DER).
  4. Για μια αλυσίδα (ένα πιστοποιητικό διακομιστή ακολουθούμενο από τα ενδιάμεσα), κάθε μπλοκ αποκωδικοποιείται με τη σειρά και το εργαλείο σημειώνει Εκδόθηκε από το πιστοποιητικό n όταν ο εκδότης ενός πιστοποιητικού ταιριάζει με το υποκείμενο ενός άλλου στη λίστα.

Τι σημαίνουν τα πεδία

  • Το Υποκείμενο και ο Εκδότης είναι διακριτά ονόματα: CN (κοινό όνομα), O (οργανισμός), OU, L (πόλη), ST (πολιτεία ή επαρχία), C (χώρα). Ένα πιστοποιητικό του οποίου ο εκδότης ισούται με το υποκείμενο επισημαίνεται ως Αυτοϋπογραφόμενο (εκδότης = υποκείμενο).
  • Τα Ισχύει από και Ισχύει έως είναι οι ημερομηνίες notBefore και notAfter, εμφανιζόμενες στη ζώνη ώρας σας, με τον αριθμό των ημερών που απομένουν. Από το 2020, τα προγράμματα περιήγησης απορρίπτουν δημόσια πιστοποιητικά TLS με ισχύ μεγαλύτερη από 398 ημέρες και το CA/Browser Forum μειώνει περαιτέρω αυτό το όριο.
  • Ο Σειριακός αριθμός εμφανίζεται σε δεκαεξαδική μορφή (όπως στα προγράμματα περιήγησης και στο OpenSSL) και σε δεκαδική.
  • Αλγόριθμος υπογραφής και Δημόσιο κλειδί: για RSA το μέγεθος του modulus (2048, 3072, 4096 bit) και ο δημόσιος εκθέτης (σχεδόν πάντα 65537)· για ελλειπτικές καμπύλες η καμπύλη (P-256, P-384…)· αναγνωρίζεται και το Ed25519.
  • Επεκτάσεις: Subject Alternative Name (τα ονόματα κεντρικών υπολογιστών, οι διευθύνσεις IP και οι διευθύνσεις email που καλύπτει το πιστοποιητικό· τα προγράμματα περιήγησης αγνοούν το CN και χρησιμοποιούν μόνο το SAN), Key Usage, Extended Key Usage (serverAuth, clientAuth, codeSigning…), Basic Constraints (CA: TRUE για αρχή πιστοποίησης), αναγνωριστικά κλειδιού υποκειμένου και αρχής, CRL Distribution Points, Authority Information Access (υπηρεσία OCSP και URL των CA Issuers) και Certificate Policies (DV, OV, EV). Οι επεκτάσεις που επισημαίνονται ως κρίσιμη πρέπει να γίνονται κατανοητές από κάθε λογισμικό που χρησιμοποιεί το πιστοποιητικό.
  • Τα Αποτύπωμα SHA-1 και Αποτύπωμα SHA-256 είναι κατακερματισμοί ολόκληρου του πιστοποιητικού DER, που υπολογίζονται με το Web Crypto API του προγράμματος περιήγησης· ταιριάζουν με το openssl x509 -fingerprint. Το Καρφίτσωμα δημόσιου κλειδιού (SHA-256, Base64) είναι ο SHA-256 σε Base64 των πληροφοριών δημόσιου κλειδιού, η μορφή που χρησιμοποιείται για certificate pinning.

Η αποκωδικοποίηση δεν είναι επαλήθευση

Το εργαλείο είναι αμιγής αναλυτής ASN.1/DER. Δεν ελέγχει την υπογραφή, δεν χτίζει αλυσίδα εμπιστοσύνης προς ρίζα αρχής πιστοποίησης και δεν ρωτά λίστες ανάκλησης ή OCSP, επειδή αυτό θα απαιτούσε πρόσβαση στο δίκτυο. Χρησιμοποιήστε το για να ελέγξετε ένα πιστοποιητικό, να βρείτε γιατί ένα όνομα κεντρικού υπολογιστή δεν ταιριάζει ή πότε λήγει, όχι για να αποφασίσετε αν μπορεί να εμπιστευτεί. Τα ιδιωτικά κλειδιά απορρίπτονται σκόπιμα: αν επικολλήσετε ένα μπλοκ PRIVATE KEY, δεν αποκωδικοποιείται, και πρέπει να το θεωρήσετε εκτεθειμένο αν το έχετε μοιραστεί ποτέ.

Συχνές ερωτήσεις

Πώς θα πάρω το πιστοποιητικό ενός ιστότοπου;

Στα περισσότερα προγράμματα περιήγησης, κάντε κλικ στο λουκέτο, ανοίξτε την προβολή πιστοποιητικού και εξαγάγετέ το ως PEM. Στη γραμμή εντολών, το openssl s_client -connect example.com:443 -showcerts εκτυπώνει ολόκληρη την αλυσίδα· επικολλήστε τα μπλοκ εδώ.

Ποια είναι η διαφορά ανάμεσα στο PEM και στο DER;

Το DER είναι η δυαδική κωδικοποίηση του πιστοποιητικού. Το PEM είναι τα ίδια byte σε Base64 ανάμεσα σε γραμμές BEGIN και END, που αντιγράφονται και επικολλώνται πιο εύκολα. Το εργαλείο διαβάζει και τα δύο και αποκωδικοποιεί το ίδιο περιεχόμενο.

Τι είναι ένα CSR;

Ένα αίτημα υπογραφής πιστοποιητικού είναι αυτό που στέλνετε σε μια αρχή πιστοποίησης: περιέχει το ζητούμενο υποκείμενο, το δημόσιο κλειδί και, συχνά, τα ζητούμενα SAN. Δεν έχει ακόμη εκδότη, ισχύ ή σειριακό αριθμό· αυτά τα προσθέτει η αρχή.

Γιατί το πρόγραμμα περιήγησής μου λέει ότι το πιστοποιητικό δεν είναι έγκυρο ενώ οι ημερομηνίες είναι εντάξει;

Οι ημερομηνίες είναι μόνο ένας έλεγχος. Το όνομα του κεντρικού υπολογιστή πρέπει να υπάρχει στο Subject Alternative Name, η αλυσίδα πρέπει να οδηγεί σε αξιόπιστη ρίζα (ένα ελλείπον ενδιάμεσο είναι συνηθισμένη αιτία), η χρήση του κλειδιού πρέπει να επιτρέπει TLS και το πιστοποιητικό δεν πρέπει να έχει ανακληθεί.

Είναι ασφαλές να επικολλήσω εδώ ένα πιστοποιητικό;

Ναι. Ένα πιστοποιητικό είναι δημόσια πληροφορία που οι διακομιστές στέλνουν σε κάθε επισκέπτη, και το εργαλείο το επεξεργάζεται τοπικά χωρίς να το μεταφορτώνει. Μόνο τα ιδιωτικά κλειδιά πρέπει να μένουν μυστικά.