Αυτό το πώς θα δείξει πώς να εγκαταστήσετε ένα SSL /TLS πιστοποιητικό στο macOS 10.14 Mojave. Παρέχονται δύο σενάρια:
- Εγκατάσταση SSL /TLS πιστοποιητικό για χρήση σε όλο το σύστημα στην Keychain Access
- Εγκατάσταση SSL /TLS πιστοποιητικό για χρήση με τον διακομιστή Apache που περιλαμβάνεται στο macOS
Ανάλογα με την περίπτωσή σας, μπορεί να θέλετε να κάνετε ένα ή και τα δύο αυτά πράγματα. Για παράδειγμα, εάν ρυθμίζετε ένα τοπικό περιβάλλον ανάπτυξης και θέλετε το πιστοποιητικό να είναι διαθέσιμο τόσο στο λογισμικό Apache όσο και στο λογισμικό πελάτη, όπως προγράμματα περιήγησης ιστού, θα κάνετε και τα δύο. Και στις δύο περιπτώσεις θα ξεκινήσουμε υποθέτοντας ότι δημιουργήσατε το αίτημα υπογραφής πιστοποιητικού (CSR) στην Keychain Access, όπως φαίνεται στο μας πώς-να. Σε αυτήν την περίπτωση, το ιδιωτικό σας κλειδί θα είναι ήδη εγκατεστημένο στην Keychain Access. Θα υποθέσουμε επίσης ότι η επικύρωση είναι πλήρης και το πιστοποιητικό σας είναι έτοιμο για λήψη. Για πληροφορίες σχετικά με την παραγγελία και την ανάκτηση πιστοποιητικών, ανατρέξτε στις οδηγίες, Παραγγελία και ανάκτηση SSL /TLS Πιστοποιητικά.
Πρώτα Βήματα
-
Πραγματοποιήστε λήψη της δέσμης πιστοποιητικών από το λογαριασμό χρήστη σας, χρησιμοποιώντας το Apache σύνδεσμος λήψης.
-
Αποσυμπιέστε το αρχείο. Θα πρέπει να περιέχει το πιστοποιητικό σας (το όνομα αρχείου θα βασίζεται στο κοινό όνομα στο δικό σας CSR και τελειώστε με
.crt
) και το πακέτο CA (ca-bundle-client.crt
).
Εγκατάσταση του Πιστοποιητικού στην Access Keychain
-
Ανοικτό Keychain Access.app, που βρίσκεται στην / Εφαρμογές / Βοηθητικά προγράμματα.
-
Επιλέξτε το μπρελόκ όπου είναι εγκατεστημένο το πληκτρολόγιο. Σε αυτήν την περίπτωση είναι το σύστημα μπρελόκ.
-
Πλοηγηθείτε στο Αρχείο> Εισαγωγή στοιχείων…
-
Μεταβείτε στο νέο σας πιστοποιητικό, επιλέξτε το και κάντε κλικ στο Ανοικτό.
-
Πληκτρολογήστε τον κωδικό πρόσβασής σας και πατήστε Τροποποίηση μπρελόκ.
- Επαναλάβετε τα βήματα 3-5 παραπάνω με
ca-bundle-client.crt
για να εγκαταστήσετε την ενδιάμεση αλυσίδα πιστοποιητικών. -
Μπορείτε να επιβεβαιώσετε ότι τα πιστοποιητικά έχουν εγκατασταθεί επιλέγοντας Πιστοποιητικά από το αριστερό μενού πλευρικής γραμμής.
Εγκαταστήστε το πιστοποιητικό για Apache
-
Αν εσύ δημιούργησε το δικό σας CSR στο Keychain Access, θα πρέπει να εξαγάγετε το ιδιωτικό κλειδί σας ως αρχείο για χρήση με το Apache. Ανοιξε Keychain Access.app, που βρίσκεται στην / Εφαρμογές / Βοηθητικά προγράμματα. (Αν εσύ δημιούργησε το CSR με το OpenSSL ή με SSL.com CSR Manager μπορείτε να μεταβείτε στο βήμα 9 παρακάτω.)
-
Χρησιμοποιώντας το μενού της αριστερής πλευρικής γραμμής για να περιορίσετε τις επιλογές σας, βρείτε και επιλέξτε το ιδιωτικό κλειδί που θέλετε να εξαγάγετε. Σε αυτήν την περίπτωση πρόκειται να εξάγουμε το ιδιωτικό κλειδί για
www.lunchinhouston.com
, που βρίσκεται στοSystem
μπρελόκ. -
Επιλέξτε Αρχείο> Εξαγωγή στοιχείων… από το μενού.
-
Βεβαιωθείτε ότι η επιλεγμένη μορφή αρχείου είναι Ανταλλαγή προσωπικών πληροφοριών (.p12) και αποθηκεύστε το αρχείο σε ένα μέρος όπου θα μπορείτε να το βρείτε.
-
Εισαγάγετε τον κωδικό πρόσβασής σας για να ξεκλειδώσετε το μπρελόκ (εάν σας ζητηθεί) και, στη συνέχεια, δημιουργήστε έναν κωδικό πρόσβασης για το αρχείο .p12 και κάντε κλικ στο OK.
-
Ανοικτό
Terminal.app
, που βρίσκεται στο/Applications/Utilities/
και μεταβείτε στο φάκελο στον οποίο αποθηκεύσατε το αρχείο .p12 από το βήμα 5. -
Χρήση
openssl
για να εξαγάγετε το ιδιωτικό κλειδί από το αρχείο .p12. (Σημείωση: αντικαταστήστε τα ονόματα αρχείων που εμφανίζονται εδώ για το όνομα του αρχείου .p12 και το όνομα αρχείου που θέλετε να χρησιμοποιήσετε για το κλειδί). Θα σας ζητηθεί πρώτα να εισαγάγετε τον κωδικό πρόσβασης που δημιουργήσατε στο βήμα 5 και μετά να σας ζητηθεί να δημιουργήσετε και να επαληθεύσετε έναν κωδικό πρόσβασης για την προστασία του ιδιωτικού κλειδιού.$ openssl pkcs12 -συναυλίες -σε Certificates.p12 -χωρίς privkey.key
-
Στη συνέχεια, θα πρέπει να αποκρυπτογραφήσετε το ιδιωτικό κλειδί. Εισαγάγετε την ακόλουθη εντολή, αντικαθιστώντας τα ονόματα των αρχείων εισόδου και εξόδου όπως επιθυμείτε (χρησιμοποιώντας το ίδιο όνομα όπως φαίνεται παρακάτω, θα αντικατασταθεί το κρυπτογραφημένο αρχείο). Θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασης που δημιουργήσατε στο βήμα 7.
$ openssl rsa -σε privkey.key -out privkey.key
- Τοποθετήστε το ιδιωτικό κλειδί, το πιστοποιητικό και τα αρχεία ενδιάμεσων πακέτων σε έναν ασφαλή κατάλογο όπου ο Apache μπορεί να τα διαβάσει. Για αυτό το πώς θα χρησιμοποιήσουμε
/private/etc/apache2/
. Ανάλογα με την επιλεγμένη τοποθεσία που ίσως χρειαστεί να χρησιμοποιήσετεsudo
για να μετακινήσετε τα αρχεία. -
Ανοίξτε το κύριο αρχείο διαμόρφωσης του Apache,
httpd.conf
, σε πρόγραμμα επεξεργασίας κειμένου. Στην τυπική εγκατάσταση Apache Mojave, αυτό το αρχείο βρίσκεται στο/private/etc/apache2/
Ευρετήριο. Για να ανοίξετε το αρχείο για επεξεργασία μεnano
, εκτελέστε την ακόλουθη εντολή:$ sudo nano /private/etc/apache2/httpd.conf
Σημείωση: Επειδή χρησιμοποιείτεsudo
Για να αναλάβετε προσωρινά επαρκή δικαιώματα για την επεξεργασία αυτού του αρχείου, θα σας ζητηθεί να εισαγάγετε τον κωδικό πρόσβασής σας προτού συνεχίσετε. -
Βρείτε αυτές τις γραμμές στο
httpd.conf
και να τα ξεφορτώσετε αφαιρώντας το#
χαρακτήρας στην αρχή κάθε γραμμής:LoadModule socache_shmcb_module libexec / apache2 / mod_socache_shmcb.so ... LoadModule ssl_module libexec / apache2 / mod_ssl.so ... Συμπερίληψη /private/etc/apache2/extra/httpd-vhosts.conf ... Συμπερίληψη / ιδιωτικό / κ.λπ. extra / httpd-ssl.conf
Σημείωση: αν χρησιμοποιείτεnano
για να επεξεργαστείτεhttpd.conf
, μπορείτε να αναζητήσετε συμβολοσειρές κειμένου μεCtrl-W
- Αποθήκευση
httpd.conf
και βγείτε από τον επεξεργαστή κειμένου (Ctrl-O
, Ακολουθούμενη απόCtrl-X
innano
). -
Στη συνέχεια, ανοίξτε
httpd-ssl.conf
για επεξεργασία:$ sudo nano /private/etc/apache2/extra/httpd-ssl.conf
-
Αναζητήστε τις ακόλουθες γραμμές και βεβαιωθείτε ότι το Apache ακούει στη θύρα
443
. Εάν η θύρα έχει ρυθμιστεί σε8443
ή κάποια άλλη τιμή, αλλάξτε την σε443
.# # Όταν παρέχουμε επίσης SSL, πρέπει να ακούσουμε τη # τυπική θύρα HTTP (δείτε παραπάνω) και τη θύρα HTTPS # Ακούστε 443
- Αναζητήστε μια γραμμή που ξεκινά με τη συμβολοσειρά
<VirtualHost _default_:
(ο αριθμός θύρας μπορεί να διαφέρει) και σχολιάστε ή αφαιρέστε όλοι γραμμές μεταξύ αυτού και</virtualhost>
. - Αποθήκευση
httpd-ssl.conf
και βγείτε από τον επεξεργαστή κειμένου. -
Στη συνέχεια, ανοίξτε
httpd-vhosts.conf
για επεξεργασία:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Δημιουργήστε μια καταχώριση VirtualHost για τον ιστότοπο που θέλετε να προστατέψετε (χρησιμοποιήστε τις πραγματικές τιμές για τον ιστότοπο και τον διακομιστή σας αντί για αυτές που εμφανίζονται εδώ) και, στη συνέχεια, αποθηκεύστε το αρχείο και βγείτε από τον επεξεργαστή κειμένου.
DocumentRoot "/PATH/TO/WEBSITE" Όνομα διακομιστή SERVERNAME SSLEngine στο SSLCertificateFile "https://ee443cc2f1.rocketcdn.me/private/etc/apache8/server.crt" SSLCertificateKeyFile "https://eeroccme/private /apache2/server.key" SSLCertificateChainFile "https://ee2cc1f8.rocketcdn.me/private/etc/apache2/ca-bundle-client.crt"
-
Ελέγξτε τη διαμόρφωση Apache με την ακόλουθη εντολή:
$ sudo apachectl configtest
-
Εάν όλα είναι καλά, επανεκκινήστε το Apache:
Επανεκκίνηση $ sudo apachectl
-
Αν όλα πήγαν σωστά, τελειώσατε! Θα πρέπει να μπορείτε να πλοηγηθείτε στον ιστότοπό σας HTTPS σε ένα πρόγραμμα περιήγησης ιστού.