Diese Anleitung zeigt, wie Sie ein SSL / installierenTLS Zertifikat unter macOS 10.14 Mojave. Es werden zwei Szenarien bereitgestellt:
- Installieren Sie ein SSL /TLS Zertifikat für die systemweite Verwendung in Keychain Access
- Installieren Sie ein SSL /TLS Zertifikat zur Verwendung mit dem in macOS enthaltenen Apache-Server
Abhängig von Ihrer Situation möchten Sie möglicherweise eines oder beide dieser Dinge tun. Wenn Sie beispielsweise eine lokale Entwicklungsumgebung einrichten und möchten, dass das Zertifikat sowohl für Apache als auch für Client-Software wie Webbrowser verfügbar ist, können Sie beides tun. In beiden Fällen gehen wir zunächst davon aus, dass Sie Ihre Zertifikatsignierungsanforderung generiert haben (CSR) in Keychain Access, wie in unserem How-to. In diesem Fall wird Ihr privater Schlüssel bereits in Keychain Access installiert. Wir gehen auch davon aus, dass die Validierung abgeschlossen ist und Ihr Zertifikat zum Download bereitsteht. Informationen zum Bestellen und Abrufen von Zertifikaten finden Sie in unserer Anleitung. Bestellen und Abrufen von SSL /TLS Zertifikate.
Erste Schritte
-
Laden Sie das Zertifikatspaket von Ihrem Benutzerkonto herunter Apache Download-Link.
-
Entpacken Sie die Datei. Es sollte Ihr Zertifikat enthalten (der Dateiname basiert auf dem allgemeinen Namen in Ihrem CSR und enden mit
.crt
) und das CA-Bundle (ca-bundle-client.crt
).
Installieren des Zertifikats in Keychain Access
-
Öffne Schlüsselbund Access.app, gelegen in / Anwendungen / Dienstprogramme.
-
Wählen Sie den Schlüsselbund aus, auf dem Ihr Schlüsselpaar installiert ist. In diesem Fall ist es das System integrieren Schlüsselbund.
-
Navigieren Datei> Elemente importieren…
-
Navigieren Sie zu Ihrem neuen Zertifikat, wählen Sie es aus und klicken Sie auf Öffne.
-
Geben Sie Ihr Passwort ein und klicken Sie auf Schlüsselbund ändern.
- Wiederholen Sie die obigen Schritte 3-5 mit
ca-bundle-client.crt
um die Zwischenzertifikatskette zu installieren. -
Sie können bestätigen, dass die Zertifikate installiert wurden, indem Sie auswählen Zertifikate aus dem Menü der linken Seitenleiste.
Installieren Sie das Zertifikat für Apache
-
Wenn Sie generiert Ihre CSR im Schlüsselbundzugriffmüssen Sie Ihren privaten Schlüssel als Datei zur Verwendung mit Apache exportieren. Öffnen Schlüsselbund Access.app, gelegen in / Anwendungen / Dienstprogramme. (Wenn du generiert die CSR mit OpenSSL oder mit SSL.com CSR Geschäftsführer Sie können mit Schritt 9 fortfahren.)
-
Verwenden Sie das Menü in der linken Seitenleiste, um Ihre Auswahl einzugrenzen, und suchen Sie den privaten Schlüssel, den Sie exportieren möchten. In diesem Fall exportieren wir den privaten Schlüssel für
www.lunchinhouston.com
, Befindet sich in derSystem
Schlüsselbund. -
Auswählen Datei> Elemente exportieren… aus dem Menü.
-
Stellen Sie sicher, dass das ausgewählte Dateiformat ist Austausch persönlicher Informationen (.p12) und speichern Sie die Datei an einem Ort, an dem Sie sie finden können.
-
Geben Sie Ihr Passwort ein, um den Schlüsselbund zu entsperren (falls Sie dazu aufgefordert werden), erstellen Sie ein Passwort für die .p12-Datei und klicken Sie auf OK.
-
Öffne
Terminal.app
, Befindet sich in der/Applications/Utilities/
Ordner, und navigieren Sie zu dem Ordner, in dem Sie die .p12-Datei aus Schritt 5 gespeichert haben. -
Verwenden Sie die
openssl
um den privaten Schlüssel aus der .p12-Datei zu extrahieren. (Hinweis: Ersetzen Sie die hier gezeigten Dateinamen durch den Namen Ihrer .p12-Datei und den Dateinamen, den Sie für den Schlüssel verwenden möchten. Sie werden zuerst aufgefordert, das in Schritt 5 erstellte Kennwort einzugeben, und anschließend aufgefordert, ein Kennwort zum Schutz des privaten Schlüssels zu erstellen und zu überprüfen.$ openssl pkcs12 -nocerts -in Certificates.p12 -out privkey.key
-
Als nächstes müssen Sie den privaten Schlüssel entschlüsseln. Geben Sie den folgenden Befehl ein und ersetzen Sie die Namen der Eingabe- und Ausgabedateien wie gewünscht (wenn Sie denselben Namen wie unten gezeigt verwenden, wird die verschlüsselte Datei überschrieben). Sie werden aufgefordert, das in Schritt 7 erstellte Kennwort einzugeben.
$ openssl rsa -in privkey.key -out privkey.key
- Legen Sie die Dateien für den privaten Schlüssel, das Zertifikat und das Zwischenpaket in einem sicheren Verzeichnis ab, in dem Apache sie lesen kann. Für diese Anleitung werden wir verwenden
/private/etc/apache2/
. Abhängig vom ausgewählten Standort müssen Sie möglicherweise verwendensudo
um die Dateien zu verschieben. -
Öffnen Sie die Hauptkonfigurationsdatei von Apache.
httpd.conf
in einem Texteditor. Bei der Mojave-Standard-Apache-Installation befindet sich diese Datei in der/private/etc/apache2/
Verzeichnis. So öffnen Sie die Datei zum Bearbeiten mitnano
Führen Sie den folgenden Befehl aus:$ sudo nano /private/etc/apache2/httpd.conf
Hinweis: Weil du benutztsudo
Um vorübergehend ausreichende Berechtigungen zum Bearbeiten dieser Datei zu übernehmen, werden Sie aufgefordert, Ihr Kennwort einzugeben, bevor Sie fortfahren. -
Finden Sie diese Zeilen in
httpd.conf
und kommentieren Sie sie aus, indem Sie das entfernen#
Zeichen am Anfang jeder Zeile:LoadModule socache_shmcb_module libexec / apache2 / mod_socache_shmcb.so ... LoadModule ssl_module libexec / apache2 / mod_ssl.so ... Include /private/etc/apache2/extra/httpd-vhosts.conf ... Include / private / / extra / httpd-ssl.conf
Hinweis: wenn Sie verwendennano
bearbeitenhttpd.conf
können Sie mit nach Textzeichenfolgen suchenCtrl-W
- Speichern
httpd.conf
und beenden Sie den Texteditor (Ctrl-O
, Gefolgt vonCtrl-X
innano
). -
Als nächstes öffnen
httpd-ssl.conf
zum Bearbeiten:$ sudo nano /private/etc/apache2/extra/httpd-ssl.conf
-
Suchen Sie nach den folgenden Zeilen und stellen Sie sicher, dass Apache den Port überwacht
443
. Wenn der Port auf eingestellt ist8443
oder einen anderen Wert, ändern Sie ihn in443
.# # Wenn wir auch SSL bereitstellen, müssen wir den # Standard-HTTP-Port (siehe oben) und den HTTPS-Port # Listen 443 abhören
- Suchen Sie nach einer Zeile, die mit der Zeichenfolge beginnt
<VirtualHost _default_:
(Die Portnummer kann variieren) und auskommentieren oder entfernen alle Linien zwischen dem und</virtualhost>
. - Speichern
httpd-ssl.conf
und beenden Sie den Texteditor. -
Als nächstes öffnen
httpd-vhosts.conf
zum Bearbeiten:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Erstellen Sie einen VirtualHost-Eintrag für die Site, die Sie schützen möchten (verwenden Sie die tatsächlichen Werte für Ihre Website und Ihren Server anstelle der hier gezeigten Platzhalter), speichern Sie die Datei und beenden Sie den Texteditor.
DocumentRoot „/PATH/TO/WEBSITE“ ServerName SERVERNAME SSLEngine auf SSLCertificateFile „https://ee443cc2f1.rocketcdn.me/private/etc/apache8/server.crt“ SSLCertificateKeyFile „https://ee2cc2f1.rocketcdn.me/private/etc /apache8/server.key" SSLCertificateChainFile "https://ee2cc2f1.rocketcdn.me/private/etc/apache8/ca-bundle-client.crt"
-
Überprüfen Sie Ihre Apache-Konfiguration mit dem folgenden Befehl:
$ sudo apachectl configtest
-
Wenn alles in Ordnung ist, starten Sie Apache neu:
$ sudo apachectl Neustart
-
Wenn alles richtig gelaufen ist, sind Sie fertig! Sie sollten in der Lage sein, in einem Webbrowser zu Ihrer HTTPS-Website zu navigieren.