Η περιήγηση ξεκινά στη λίστα πιστοποιητικών του πελάτη, όπου η καταχώριση δείχνει ένα όνομα, έναν εκδότη και μια ημερομηνία λήξης και τίποτε άλλο. Εξαγάγετέ το, εισαγάγετέ το στη δεύτερη συσκευή και η σύνδεση απορρίπτεται επειδή ο πελάτης δεν μπορεί να αποδείξει ότι κατέχει το ιδιωτικό κλειδί. Το αρχείο αντιγράφηκε πλήρως· το λάθος είναι να περιμένει κανείς ότι ένα πιστοποιητικό μεταφέρει το δικό του κλειδί. Διαβάστε το παράθυρο εξαγωγής πριν επιλέξετε μορφή και μετά ελέγξτε το αρχείο που λάβατε πραγματικά.

Δύο κλικ, δύο πολύ διαφορετικά τεχνουργήματα.

Διαβάστε το παράθυρο εξαγωγής, όχι την κατάληξη του αρχείου

Μια εξαγωγή πιστοποιητικού DER ή PEM περιέχει ένα δημόσιο κλειδί και τις υπογεγραμμένες δηλώσεις ταυτότητας, που είναι ό,τι χρειάζεται ένας διακομιστής για να σας εμπιστευτεί και ό,τι χρειάζεται ένας πελάτης για να επαληθεύσει έναν διακομιστή. Ένα πακέτο PKCS#12 είναι ένα δοχείο που μπορεί να περιέχει πιστοποιητικό, την αλυσίδα του και το αντίστοιχο ιδιωτικό κλειδί, προστατευμένο με κωδικό πρόσβασης, αν και μπορεί να δημιουργηθεί και χωρίς το κλειδί.

Το PEM είναι μόνο κωδικοποίηση κειμένου, όχι υπόσχεση για το περιεχόμενο. Η ίδια κατάληξη μπορεί να περιγράφει ένα μόνο πιστοποιητικό ή ένα αρχείο με πολλά επισημασμένα τμήματα, και οι επιλογές εξαγωγής αποφασίζουν ποιο.

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

Ελέγξτε τι πήρατε πραγματικά

Αναζητήστε τις ετικέτες πριν εισαγάγετε οτιδήποτε, και μετά διαβάστε τα πεδία του πιστοποιητικού για να επιβεβαιώσετε ποια ταυτότητα κρατάτε. Εκτελέστε τους ελέγχους στο αρχείο που θα εισαχθεί πραγματικά. Επαναλάβετέ τους μετά από κάθε νέα εξαγωγή, γιατί οι επιλογές μπορεί να διαφέρουν.

grep -E 'BEGIN (CERTIFICATE|PRIVATE KEY|ENCRYPTED PRIVATE KEY)' bundle.pem
openssl x509 -in client.crt -noout -subject -issuer -dates
openssl pkey -in client.key -noout -text | head -5
openssl pkcs12 -info -in client.p12 -noout

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

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

Το κλειδί μπορεί να βρίσκεται εκεί όπου δεν μπορείτε να το αντιγράψετε

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

Αυτό είναι ένας έλεγχος, όχι εμπόδιο προς παράκαμψη. Η ανακατασκευή ιδιωτικού κλειδιού από το δημόσιο πιστοποιητικό δεν είναι δυνατή, και κάθε εργαλείο που το ισχυρίζεται κάνει κάτι άλλο.

Καταχωρίστε νέα ταυτότητα αντί να αντιγράφετε

Η υποστηριζόμενη διαδρομή είναι συνήθως να καταχωρίσετε ξεχωριστή ταυτότητα για τη νέα συσκευή και να ανακαλέσετε την παλιά όταν αποσυρθεί, ώστε κάθε συσκευή να μπορεί να αποσυρθεί ανεξάρτητα. Όπου μια εξαγωγή με το κλειδί εγκρίνεται πραγματικά, αντιμετωπίστε το αρχείο που προκύπτει και τον κωδικό του ως διαπιστευτήρια: κρυπτογραφημένα σε ηρεμία, μεταφερμένα μέσω αξιόπιστου καναλιού και διαγραμμένα όταν ολοκληρωθεί η εγγραφή.

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

Ολοκληρώστε επιβεβαιώνοντας ότι ο διακομιστής δέχεται τη νέα ταυτότητα και ότι η παλιά συμπεριφέρεται ακόμη όπως προβλέπει η πολιτική. Έτσι η περιήγηση κλείνει με στοιχεία και όχι με ένα αρχείο που φαίνεται σωστό.

Σχετικά άρθρα