OpenSSL είναι μια βιβλιοθήκη κρυπτογράφησης ανοιχτού κώδικα που περιλαμβάνει μια ποικιλία εντολών που χρησιμοποιούνται στο TLS Protocol και Public Key Infrastructure. Το OpenSSL κυκλοφόρησε το 1998 και είναι διαθέσιμο για συστήματα Windows, Linux, macOS και BSD. Η εντολή OpenSSL θα σας βοηθήσει να εκτελέσετε διάφορες εργασίες, συμπεριλαμβανομένων των Αιτημάτων Υπογραφής Πιστοποιητικού (CSR), της δημιουργίας ιδιωτικών κλειδιών και της πιστοποίησης SSL.
Το OpenSSL είναι σημαντικό επειδή εξασφαλίζει τη σωστή υλοποίηση του SSL. Η απόκτηση του SSL με τον σωστό τρόπο είναι κρίσιμη για την ασφάλεια του ιστότοπού σας. Επιπλέον, η Google, η οποία είναι μια κορυφαία μηχανή αναζήτησης, δίνει προτεραιότητα σε ιστότοπους με εγκατεστημένα πιστοποιητικά SSL. Ορισμένα προγράμματα περιήγησης όπως το Chrome και το Firefox ενδέχεται να επισημάνουν τον ιστότοπό σας ως Μη Ασφαλή εάν δεν έχετε κατάλληλο πιστοποιητικό SSL. Επομένως, είναι εξαιρετικά σημαντικό να διοχετεύετε την επισκεψιμότητα του ιστότοπού σας μέσω του κρυπτογραφημένου HTTPS πρωτοκόλλου.
Πρώτα απ' όλα
Αυτός ο οδηγός είναι ένας οδηγός γρήγορης αναφοράς (cheat sheet), που περιλαμβάνει μερικές αλλά πιθανώς όχι όλες τις εντολές OpenSSL που μπορεί να χρησιμοποιήσετε σε καθημερινά σενάρια.
Το πρώτο μέρος εξηγεί όλα όσα πρέπει να γνωρίζετε για τα Certificate Signing Requests (CSR). Ωστόσο, εάν είστε ήδη εξοικειωμένοι με αυτό, μπορείτε να μεταβείτε σε οποιαδήποτε άλλη ενότητα σχετική με αυτό που προσπαθείτε να επιτύχετε. Κάθε ενότητα περιέχει ένα απόσπασμα γραμμής εντολών για να επιτύχετε αυτό που αναφέρει ο υπότιτλος.
Ας ξεκινήσουμε!
Ενότητα 1: Κατανόηση των Αιτημάτων Υπογραφής Πιστοποιητικού (CSR)
Ένα αίτημα υπογραφής πιστοποιητικού είναι προαπαιτούμενο κατά την απόκτηση ενός πιστοποιητικού SSL από μια αρχή πιστοποίησης (CA). Το CSR περιλαμβάνει το δημόσιο κλειδί ενός ζεύγους κλειδιών και ορισμένες πρόσθετες πληροφορίες. Πρέπει να τις εισαγάγετε στο πιστοποιητικό κατά τη διαδικασία υπογραφής.
Κατά τη δημιουργία του CSR, σας ζητείται να παρέχετε πληροφορίες ταυτοποίησης που είναι γνωστές ως Διακεκριμένο Όνομα (DN). Το DN περιέχει πεδία απαραίτητα για το πιστοποιητικό, όπως το Κοινό Όνομα (CN), το οποίο είναι το ακριβές Πλήρως Αναγνωρισμένο Όνομα Τομέα (FQDN) του κεντρικού υπολογιστή που θα χρησιμοποιήσει το πιστοποιητικό. Τα άλλα πεδία του DN προορίζονται για πρόσθετες πληροφορίες, όπως χώρα, πολιτεία/επαρχία, όνομα τοποθεσίας και όνομα οργανισμού ή επιχείρησης, εάν δημιουργείτε πιστοποιητικά ειδικά για την επιχείρησή σας. Μπορείτε να επιλέξετε να παρακάμψετε τις προτροπές παρέχοντας τις πληροφορίες από ένα αρχείο ή μέσω της γραμμής εντολών.
Ρίξτε μια ματιά σε ένα παράδειγμα της προτροπής πληροφοριών CSR στο παρακάτω στιγμιότυπο οθόνης:
|
1 2 3 4 5 6 7 |
Χώρα Όνομα (2 γραμμάτων κωδικός) [AU]:CH Πολιτεία ή Επαρχία Όνομα (πλήρες όνομα) [Some-State]:Zürich Τοποθεσία Όνομα (πχ, πόλη) []:Old Town Οργανισμός Όνομα (πχ, εταιρεία) [Internet Widgits Pty Ltd]:Example Cloudsigma Εταιρεία Οργανωτική Μονάδα Όνομα (πχ, τμήμα) []:Cloud Technology Κοινό Όνομα (π.χ. διακομιστής FQDN ή το ΔΙΚΟ ΣΑΣ όνομα) []:cloudsigma.com Email Διεύθυνση []:info@cloudsigma.com |
Μπορείτε να παρέχετε τις πληροφορίες σε μια εντολή μίας γραμμής για να αποφύγετε τις προτροπές, προσθέτοντας τη σημαία -subj όπως φαίνεται παρακάτω, και παρέχοντας τις πληροφορίες για τα πεδία:
|
1 |
-subj "/C=CH/ST=Zürich/L=Old Town/O=Example Cloudsigma Company/CN=cloudsigma.com" |
Η παραπάνω εντολή λαμβάνει τις ίδιες πληροφορίες που εμφανίζονται στο παράδειγμα του μπλοκ κώδικα των προτροπών πληροφοριών CSR.
Ενότητα 2: Δημιουργία Αιτημάτων Υπογραφής Πιστοποιητικού
Σε αυτήν την ενότητα, θα καλύψουμε τις εντολές OpenSSL που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε CSR και ιδιωτικά κλειδιά. Τα CSR είναι απαραίτητα για την αίτηση πιστοποιητικών SSL από μια Αρχή Πιστοποίησης (CA).
Δημιουργία Ιδιωτικού Κλειδιού και Αιτήματος Υπογραφής Πιστοποιητικού
Μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο εάν θέλετε μια Αρχή Πιστοποίησης να εκδώσει ένα πιστοποιητικό SSL για να ασφαλίσετε το Apache ή Nginx διακομιστή για την εξυπηρέτηση κίνησης μέσω HTTPS, δηλαδή HTTP με TLS. Το CSR που δημιουργείται με την εντολή μπορεί να σταλεί σε μια CA για να ζητηθεί ένα πιστοποιητικό SSL υπογεγραμμένο από CA. Μπορείτε να ακολουθήσετε τους λεπτομερείς οδηγούς μας για το πώς να ρυθμίσετε τους Apache ή Nginx διακομιστές σας σε Ubuntu.
Εισαγάγετε την ακόλουθη εντολή στο τερματικό σας για να δημιουργήσετε ένα ιδιωτικό κλειδί 2048-bit (domain.key) και CSR (domain.csr) από το μηδέν:
|
1 |
openssl req -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr |
Απαντήστε στα μηνύματα με τις συγκεκριμένες πληροφορίες CSR σας. Προαιρετικά, μπορείτε να προσθέσετε τη σημαία -subj στην εντολή για να αποφύγετε τα μηνύματα:
|
1 |
openssl req -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr -subj "/C=CH/ST=Zürich/L=Old Town/O=Example Cloudsigma Company/CN=cloudsigma.com" |
Η σημαία -newkey rsa:2048 καθορίζει ότι το κλειδί πρέπει να δημιουργηθεί χρησιμοποιώντας τον αλγόριθμο RSA 2048-bit. Η σημαία -nodes υποδεικνύει ότι δεν υπάρχει κρυπτογράφηση με συνθηματικό για το ιδιωτικό κλειδί. Υπάρχει μια επιλογή -new που δεν περιλαμβάνεται αλλά υπονοείται για να υποδείξει ότι δημιουργείται ένα νέο CSR.
Δημιουργία αιτήματος υπογραφής πιστοποιητικού (CSR) από υπάρχον ιδιωτικό κλειδί
Εάν έχετε ήδη ένα ιδιωτικό κλειδί, τότε μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο για να δημιουργήσετε ένα CSR. Στη συνέχεια, θα το χρησιμοποιήσετε για να ζητήσετε ένα πιστοποιητικό SSL από μια CA. Εισαγάγετε την ακόλουθη εντολή για να δημιουργήσετε ένα νέο CSR (domain.csr) χρησιμοποιώντας ένα υπάρχον ιδιωτικό κλειδί (domain.key):
|
1 |
openssl req -key domain.key -new -out domain.csr |
Απαντήστε στα μηνύματα με τις συγκεκριμένες πληροφορίες CSR σας. Προαιρετικά, μπορείτε να προσθέσετε τη -subj flag στην εντολή για να αποφύγετε τα μηνύματα:
|
1 |
openssl req -key domain.key -new -out domain.csr -subj "/C=CH/ST=Zürich/L=Old Town/O=Example Cloudsigma Company/CN=cloudsigma.com" |
Η σημαία -key καθορίζει το υπάρχον ιδιωτικό κλειδί (domain.key) που θα χρησιμοποιηθεί για τη δημιουργία ενός νέου CSR. Η σημαία -new υποδεικνύει ότι δημιουργείται ένα νέο CSR.
Δημιουργία αιτήματος υπογραφής πιστοποιητικού (CSR) από υπάρχον πιστοποιητικό και ιδιωτικό κλειδί
Εάν έχετε ήδη ένα υπάρχον πιστοποιητικό που θα θέλατε να χρησιμοποιήσετε για να δημιουργήσετε ένα CSR, τότε μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο. Αυτή η μέθοδος μπορεί να είναι χρήσιμη εάν εσείς ή η CA σας χάσετε το αρχικό CSR και πρέπει να το δημιουργήσετε χρησιμοποιώντας τις πληροφορίες CSR που είχατε εισαγάγει προηγουμένως, χωρίς να χρειάζεται να τις εισαγάγετε ξανά. Η εντολή εξάγει τις πληροφορίες από το υπάρχον πιστοποιητικό. Εισαγάγετε την ακόλουθη εντολή στο τερματικό σας για να δημιουργήσετε ένα νέο CSR (domain.csr) χρησιμοποιώντας ένα υπάρχον πιστοποιητικό (domain.crt) και ένα υπάρχον ιδιωτικό κλειδί (domain.key):
|
1 |
openssl x509 -in domain.crt -signkey domain.key -x509toreq -out domain.csr |
Η επιλογή -x509toreq υποδεικνύει ότι χρησιμοποιείτε το X509 certificate για να δημιουργήσετε το CSR.
Ενότητα 3: Δημιουργία πιστοποιητικών SSL
Σε ορισμένες περιπτώσεις, μπορεί να θέλετε να χρησιμοποιήσετε ένα πιστοποιητικό SSL χωρίς την ταλαιπωρία της απόκτησης ενός πιστοποιητικού υπογεγραμμένου από CA. Αυτή η ενότητα εξηγεί πώς μπορείτε να υπογράψετε τα δικά σας πιστοποιητικά. Είναι έγκυρο και δωρεάν. Αυτά τα πιστοποιητικά αναφέρονται ως αυτο-υπογεγραμμένα πιστοποιητικά, και είναι αρκετά κοινά.
Ένα αυτο-υπογεγραμμένο πιστοποιητικό υπογράφεται με το δικό του ιδιωτικό κλειδί. Τόσο τα αυτο-υπογεγραμμένα όσο και τα υπογεγραμμένα από CA πιστοποιητικά λειτουργούν εξίσου καλά για την κρυπτογράφηση δεδομένων και της κίνησης του ιστότοπου. Ωστόσο, με τα αυτο-υπογεγραμμένα πιστοποιητικά, οι χρήστες συνήθως λαμβάνουν μια προειδοποίηση στα προγράμματα περιήγησής τους ότι το πιστοποιητικό δεν είναι αξιόπιστο. Έτσι, μπορείτε να χρησιμοποιήσετε αυτο-υπογεγραμμένα πιστοποιητικά για ιστότοπους που δεν ανταλλάσσουν ευαίσθητες πληροφορίες με χρήστες, ή σε διακομιστές που δεν προορίζονται για παραγωγή. Παρακάτω, μπορείτε να βρείτε τις εντολές OpenSSL που μπορείτε να χρησιμοποιήσετε για να δημιουργήσετε αυτο-υπογεγραμμένα πιστοποιητικά.
- Δημιουργία αυτο-υπογεγραμμένου πιστοποιητικού
Μπορείτε να χρησιμοποιήσετε αυτήν τη μέθοδο για να δημιουργήσετε ένα πιστοποιητικό SSL για να ασφαλίσετε τον διακομιστή Apache ή Nginx. Αυτό θα διασφαλίσει ότι η κίνηση πραγματοποιείται με HTTPS, ή HTTP μέσω TLS, χωρίς να απευθυνθείτε σε μια CA για την υπογραφή του πιστοποιητικού:
|
1 |
openssl req -newkey rsa:2048 -nodes -keyout domain.key -x509 -days 365 -out domain.crt |
Απαντήστε στις προτροπές με τις συγκεκριμένες πληροφορίες CSR σας. Προαιρετικά, μπορείτε να προσθέσετε τη σημαία -subj στην εντολή για να αποφύγετε τις προτροπές:
|
1 |
openssl req -newkey rsa:2048 -nodes -keyout domain.key -x509 -days 365 -out domain.crt -subj "/C=CH/ST=Zürich/L=Old Town/O=Example Cloudsigma Company/CN=cloudsigma.com" |
Η -x509 σημαία υποδεικνύει τη δημιουργία ενός αυτο-υπογεγραμμένου πιστοποιητικού. Η -days 365 επιλογή καθορίζει τον αριθμό των ημερών που το πιστοποιητικό θα είναι έγκυρο. Σε αυτήν την περίπτωση, είναι 365 ημέρες. Μπορείτε επίσης να επιλέξετε διαφορετικό αριθμό ημερών. Η εντολή δημιουργεί ένα προσωρινό CSR για να διατηρήσει τις πληροφορίες που πρέπει να συσχετίσετε με το πιστοποιητικό.
- Δημιουργία αυτο-υπογεγραμμένου πιστοποιητικού από υπάρχον ιδιωτικό κλειδί
Αυτή η μέθοδος θα σας βοηθήσει να δημιουργήσετε ένα αυτο-υπογεγραμμένο πιστοποιητικό από το ήδη υπάρχον ιδιωτικό κλειδί σας. Εισαγάγετε την ακόλουθη εντολή για να δημιουργήσετε ένα αυτο-υπογεγραμμένο πιστοποιητικό (domain.crt) χρησιμοποιώντας ένα υπάρχον ιδιωτικό κλειδί (domain.key):
|
1 |
openssl req -key domain.key -new -x509 -days 365 -out domain.crt |
Παρέχετε στις προτροπές τις συγκεκριμένες πληροφορίες CSR σας. Προαιρετικά, μπορείτε να προσθέσετε τη σημαία -subj στην εντολή για να αποφύγετε τις προτροπές:
|
1 |
openssl req -key domain.key -new -x509 -days 365 -out domain.crt -subj "/C=CH/ST=Zürich/L=Old Town/O=Example Cloudsigma Company/CN=cloudsigma.com" |
Η -x509 σημαία υποδεικνύει τη δημιουργία ενός αυτο-υπογεγραμμένου πιστοποιητικού. Η -days 365 επιλογή καθορίζει τον αριθμό των ημερών που το πιστοποιητικό θα είναι έγκυρο. Σε αυτήν την περίπτωση είναι 365 ημέρες. Μπορείτε επίσης να επιλέξετε διαφορετικό αριθμό ημερών. Η -new επιλογή ξεκινά την προτροπή πληροφοριών CSR.
Ενότητα 4: Προβολή πιστοποιητικών
Τα πιστοποιητικά και τα αρχεία CSR κωδικοποιούνται και αποθηκεύονται με την .pem επέκταση. Αντιπροσωπεύει το Privacy-Enhanced Mail. Είναι μια μορφή αρχείου για την αποθήκευση και αποστολή κρυπτογραφικών κλειδιών, πιστοποιητικών και άλλων κρίσιμων δεδομένων. Τα αρχεία PEM δεν είναι εύκολα αναγνώσιμα από τον άνθρωπο. Σε αυτήν την ενότητα, θα βρείτε εντολές που μπορείτε να χρησιμοποιήσετε για να δείτε τις καταχωρίσεις από τα κωδικοποιημένα αρχεία PEM.
- Προβολή αρχείων CSR
Εισαγάγετε την ακόλουθη εντολή για να δείτε και να επαληθεύσετε τα περιεχόμενα ενός CSR (domain.csr) στο τερματικό σας:
|
1 |
openssl req -text -noout -verify -in domain.csr |
Για παράδειγμα, η παραπάνω εντολή ενδέχεται να εμφανίσει κάτι σαν αυτό:

- Προβολή καταχωρίσεων πιστοποιητικού
Εισαγάγετε την ακόλουθη εντολή για να δείτε τα περιεχόμενα ενός πιστοποιητικού (domain.crt):
|
1 |
openssl x509 -text -noout -in domain.crt |
Η παραπάνω εντολή ενδέχεται να εμφανίσει κάτι σαν αυτό:

- Εαλήθευση ότι ένα πιστοποιητικό υπογράφηκε από μια Αρχή Πιστοποίησης
Για να επαληθεύσετε εάν ένα πιστοποιητικό (domain.crt) υπογράφηκε από ένα συγκεκριμένο πιστοποιητικό CA (ca.crt), εισαγάγετε την ακόλουθη εντολή:
|
1 |
openssl verify -verbose -CAfile ca.crt domain.crt |
Ενότητα 5: Ιδιωτικά κλειδιά
Αν ψάχνετε για εντολές OpenSSL απαραίτητες για τη δημιουργία και την επαλήθευση ιδιωτικών κλειδιών, αυτή η ενότητα είναι για εσάς.
- Δημιουργία ιδιωτικού κλειδιού
Για να δημιουργήσετε ένα προστατευμένο με κωδικό πρόσβασης ιδιωτικό κλειδί 2048-bit (domain.key), εισαγάγετε την ακόλουθη εντολή στο τερματικό σας:
|
1 |
openssl genrsa -des3 -out domain.key 2048 |
Η εντολή θα σας ζητήσει έναν κωδικό πρόσβασης για να ολοκληρωθεί η διαδικασία. Δείτε το παρακάτω στιγμιότυπο οθόνης:

- Επαλήθευση ιδιωτικού κλειδιού
Για να επαληθεύσετε την εγκυρότητα ενός ιδιωτικού κλειδιού (domain.key), εισαγάγετε την ακόλουθη εντολή στο τερματικό σας:
|
1 |
openssl rsa -check -in domain.κλειδί |
Στη συνέχεια, θα πρέπει να παρέχετε έναν κωδικό πρόσβασης. Εάν το ιδιωτικό κλειδί είναι κρυπτογραφημένο και εισαγάγετε τη σωστή φράση πρόσβασης, το μη κρυπτογραφημένο κλειδί θα εμφανιστεί στο τερματικό. Δείτε το παρακάτω στιγμιότυπο οθόνης:

- Επαλήθευση ότι ένα ιδιωτικό κλειδί αντιστοιχεί σε ένα πιστοποιητικό και ένα CSR
Εάν θέλετε να ελέγξετε αν ένα ιδιωτικό κλειδί (domain.key) αντιστοιχεί σε ένα πιστοποιητικό (domain.crt) και ένα CSR (domain.csr), εισαγάγετε τις ακόλουθες εντολές στο τερματικό σας:
|
1 2 3 |
openssl rsa -noout -modulus -in domain.key | openssl md5 openssl x509 -noout -modulus -in domain.crt | openssl md5 openssl req -noout -modulus -in domain.csr | openssl md5 |
Εάν παρατηρήσετε ότι το αποτέλεσμα των παραπάνω εντολών είναι πανομοιότυπο, τότε είναι πιθανό το ιδιωτικό κλειδί, το πιστοποιητικό και το CSR να σχετίζονται.
- Κρυπτογράφηση ιδιωτικού κλειδιού
Εάν έχετε ένα μη κρυπτογραφημένο ιδιωτικό κλειδί (unencrypted.key) και θέλετε να λάβετε την κρυπτογραφημένη έκδοση του κλειδιού (encrypted.key), εισαγάγετε την ακόλουθη εντολή στο τερματικό σας:
|
1 |
openssl rsa -des3 -in unencrypted.key -out encrypted.key |
Η εντολή θα σας ζητήσει μια φράση πρόσβασης για την κρυπτογράφηση του ιδιωτικού κλειδιού.
- Αποκρυπτογράφηση ιδιωτικού κλειδιού
Εάν έχετε ένα κρυπτογραφημένο ιδιωτικό κλειδί (encrypted.key) και θέλετε να αποκτήσετε την αποκρυπτογραφημένη έκδοσή του (decrypted.key), εισαγάγετε την ακόλουθη εντολή στο τερματικό σας:
|
1 |
openssl rsa -in encrypted.key -out decrypted.key |
Η εντολή θα σας ζητήσει μια φράση πρόσβασης για το κρυπτογραφημένο κλειδί. Εάν εισαγάγετε τη σωστή φράση πρόσβασης, αυτό θα αποκρυπτογραφηθεί. Το αποτέλεσμα θα αποθηκευτεί στο decrypted.key.
Ενότητα 6: Μετατροπή μορφών πιστοποιητικών
Ίσως παρατηρήσετε ότι μέχρι στιγμής εργαζόμαστε με πιστοποιητικά X.509 τα οποία είναι κωδικοποιημένα με ASCII PEM. Αν και αυτό είναι μια χαρά, υπάρχει μια ποικιλία άλλων τύπων κωδικοποίησης και κοντέινερ πιστοποιητικών που μπορείτε να χρησιμοποιήσετε. Σε ορισμένες εφαρμογές, μπορεί να προτιμάτε να χρησιμοποιείτε συγκεκριμένες μορφές έναντι άλλων. Επιπλέον, ορισμένες διαφορετικές μορφές ενδέχεται να περιέχουν πολλαπλά στοιχεία, όπως ένα ιδιωτικό κλειδί, ένα CSR και ένα υπογεγραμμένο από CA πιστοποιητικό σε ένα αρχείο. Μπορείτε επίσης να χρησιμοποιήσετε το OpenSSL για μετατροπή μεταξύ διαφόρων μορφών πιστοποιητικών. Διαβάστε παρακάτω για μερικές από τις εντολές OpenSSL για τη μετατροπή μορφής πιστοποιητικού.
- Μετατροπή PEM σε DER
Το DER (Distinguished Encoding Rules) είναι μια δυαδική κωδικοποίηση για πιστοποιητικά X.509 και ιδιωτικά κλειδιά. Για να μετατρέψετε ένα πιστοποιητικό κωδικοποιημένο κατά PEM (domain.crt) σε πιστοποιητικό κωδικοποιημένο κατά DER (domain.der), εισαγάγετε την ακόλουθη εντολή:
|
1 |
openssl x509 -in domain.crt -outform der -out domain.der |
Θα βρείτε τις περισσότερες περιπτώσεις χρήσης της μορφής κωδικοποίησης DER στη γλώσσα προγραμματισμού Java. Ακολουθήστε αυτόν τον οδηγό για μια γρήγορη εγκατάσταση της Java στον Ubuntu διακομιστή σας.
- Μετατροπή DER σε PEM
Για να μετατρέψετε ένα πιστοποιητικό κωδικοποιημένο κατά DER (domain.der) σε πιστοποιητικό PEM (domain.crt), εισαγάγετε την ακόλουθη εντολή:
|
1 |
openssl x509 -inform der -in domain.der -out domain.crt<code> |
- Μετατροπή PEM σε PKCS7
Ίσως θέλετε να προσθέσετε πιστοποιητικά PEM, για παράδειγμα, domain.crt και ca-chain.crt σε ένα αρχείο PKCS7 (domain.p7b). Ορίστε η εντολή για να το επιτύχετε αυτό:
|
1 |
openssl crl2pkcs7 -nocrl -certfile domain.crt -certfile ca-chain.crt -out domain.p7b |
Μπορείτε να χρησιμοποιήσετε την επιλογή -certfile πολλές φορές για να καθορίσετε τα πιστοποιητικά που θα προστεθούν στο αρχείο PKCS7. Τα αρχεία PKCS7 σχετίζονται κυρίως με τα Java Key stores και το Microsoft IIS. Γνωστά και ως αρχεία P7B, είναι αρχεία ASCII που μπορούν να περιλαμβάνουν πιστοποιητικά και πιστοποιητικά υπογεγραμμένα από CA.
- Μετατροπή PKCS7 σε PEM
Για να μετατρέψετε ένα αρχείο PKCS7 (domain.p7b) σε ένα αρχείο κωδικοποιημένο κατά PEM (domain.crt), εισαγάγετε την ακόλουθη εντολή στο τερματικό σας:
|
1 |
openssl pkcs7 -in domain.p7b -print_certs -out domain.crt |
- Μετατροπή PEM σε PKCS12
Για να συνδυάσετε ένα ιδιωτικό κλειδί (domain.key) και ένα πιστοποιητικό (domain.crt) σε ένα PKCS12 αρχείο (domain.pfx), εισαγάγετε την ακόλουθη εντολή:
|
1 |
openssl pkcs12 -inkey domain.key -in domain.crt -export -out domain.pfx |
Η εντολή θα σας ζητήσει να εισαγάγετε τους κωδικούς πρόσβασης εξαγωγής, τους οποίους μπορείτε προαιρετικά να αφήσετε κενούς. Μπορείτε να συνδέσετε πολλά πιστοποιητικά στο αρχείο PKCS12 συνενώνοντας τα πιστοποιητικά σε ένα μόνο αρχείο PEM (domain.crt). Το PKCS12 είναι επίσης γνωστό ως PFX και χρησιμοποιείται κυρίως στο Microsoft IIS.
- Μετατροπή PKCS12 σε PEM
Για να μετατρέψετε ένα αρχείο PKCS12 (domain.pfx) σε μια κωδικοποιημένη μορφή PEM (domain.combined.crt), εισαγάγετε την ακόλουθη εντολή:
|
1 |
openssl pkcs12 -in domain.pfx -nodes -out domain.combined.crt |
Το αρχείο PEM που δημιουργήθηκε από την παραπάνω εντολή περιέχει όλα τα πολλαπλά στοιχεία που περιείχε το PKCS12.
Ενότητα 7: Έλεγχος έκδοσης OpenSSL
Η έκδοση οποιουδήποτε λογισμικού εκτελείτε μπορεί να επηρεάσει τις δυνατότητες των εφαρμογών που εκτελείτε. Επομένως, υπάρχει ανάγκη να εξακριβωθεί η έκδοση. Το ίδιο ισχύει και για το OpenSSL. Ορισμένες επιλογές γραμμής εντολών ενδέχεται να λείπουν σε μια έκδοση και να είναι διαθέσιμες σε μια άλλη έκδοση. Για να δείτε την έκδοση του OpenSSL που εκτελείτε, εισαγάγετε την ακόλουθη εντολή:
|
1 |
openssl version -a |
Παρακάτω είναι το αποτέλεσμα που λάβαμε όταν εκτελέσαμε την παραπάνω εντολή κατά τη δημιουργία αυτού του οδηγού:
|
1 2 3 4 5 6 7 8 |
OpenSSL 1.1.1i 8 Δεκ 2020 δημιουργήθηκε στις: Σάβ Δεκ 19 15:39:47 2020 UTC πλατφόρμα: linux-x86_64 επιλογές: bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr) μεταγλωττιστής: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG OPENSSLDIR: "/usr/local/ssl" ENGINESDIR: "/usr/local/lib/engines-1.1" Σπορά πηγή: os-specific |
Παρακάτω μπορείτε να βρείτε το πραγματικό στιγμιότυπο οθόνης:

Συμπέρασμα
Σε αυτόν τον οδηγό, εξηγήσαμε τι είναι το OpenSSL, καλύψαμε τα αιτήματα υπογραφής πιστοποιητικών (CSR) και μερικές από τις κρίσιμες εντολές OpenSSL που μπορείτε να χρησιμοποιήσετε στο περιβάλλον του διακομιστή σας.
Μήπως μας διαφεύγει κάποια κρίσιμη εντολή ή αντιμετωπίζετε προβλήματα με κάποια από τις εντολές στη ρύθμιση του διακομιστή σας στο CloudSigma; Μη διστάσετε να επικοινωνήσετε με την ομάδα υποστήριξης πελατών 24/7 μας σε συνομιλία πραγματικού χρόνου για να το συζητήσετε.
Καλή συνέχεια!
Σχόλια
Δεν υπάρχουν σχόλια ακόμα. Γράψτε το πρώτο.