Ten poradnik pokaże, jak zainstalować SSL /TLS certyfikat w systemie macOS 10.14 Mojave. Dostępne są dwa scenariusze:
- Zainstaluj SSL /TLS certyfikat do użytku ogólnosystemowego w Keychain Access
- Zainstaluj SSL /TLS certyfikat do użytku z serwerem Apache dołączonym do macOS
W zależności od sytuacji możesz chcieć zrobić jedną lub obie te rzeczy; na przykład, jeśli konfigurujesz lokalne środowisko programistyczne i chcesz, aby certyfikat był dostępny zarówno dla Apache, jak i oprogramowania klienckiego, takiego jak przeglądarki internetowe, zrobiłbyś jedno i drugie. W obu przypadkach zaczniemy od założenia, że wygenerowałeś żądanie podpisania certyfikatu (CSR) w Dostęp do pęku kluczy, jak pokazano w naszym jak to zrobić. W takim przypadku Twój klucz prywatny zostanie już zainstalowany w programie Dostęp do pęku kluczy. Zakładamy również, że weryfikacja została zakończona, a Twój certyfikat jest gotowy do pobrania. Aby uzyskać informacje o zamawianiu i odzyskiwaniu certyfikatów, zobacz nasze instrukcje, Zamawianie i pobieranie SSL /TLS certyfikaty.
Pierwsze kroki
-
Pobierz pakiet certyfikatów ze swojego konta użytkownika, korzystając z Apache link do pobrania.
-
Rozpakuj plik. Powinien zawierać Twój certyfikat (nazwa pliku będzie oparta na wspólnej nazwie w Twoim CSR i kończ z
.crt
) i pakiet CA (ca-bundle-client.crt
).
Instalowanie certyfikatu w dostępie do pęku kluczy
-
Otwarte Brelok Access.app, położony w / Aplikacje / Narzędzia.
-
Wybierz pęku kluczy, w którym zainstalowana jest para kluczy. W tym przypadku jest to plik Konfiguracja brelok do kluczy.
-
Nawigować do Plik> Importuj elementy…
-
Przejdź do nowego certyfikatu, wybierz go i kliknij Otwarte.
-
Wpisz swoje hasło i kliknij Zmodyfikuj pęku kluczy.
- Powtórz powyższe kroki 3-5 za pomocą
ca-bundle-client.crt
aby zainstalować pośredni łańcuch certyfikatów. -
Możesz potwierdzić, że certyfikaty zostały zainstalowane, wybierając certyfikaty z menu po lewej stronie paska bocznego.
Zainstaluj certyfikat dla Apache
-
Jeśli ty wygenerowałem twój CSR w Dostęp do pęku kluczy, będziesz musiał wyeksportować swój klucz prywatny jako plik do użytku z Apache. otwarty Brelok Access.app, położony w / Aplikacje / Narzędzia. (Jeśli ty wygenerowano CSR z OpenSSL lub z SSL.com CSR Menedżer możesz przejść do kroku 9 poniżej.)
-
Korzystając z menu lewego paska bocznego, aby zawęzić wybór, znajdź i wybierz klucz prywatny, który chcesz wyeksportować. W tym przypadku mamy zamiar wyeksportować klucz prywatny dla
www.lunchinhouston.com
, znajduje się wSystem
brelok do kluczy. -
Dodaj Plik> Eksportuj elementy… z menu.
-
Upewnij się, że wybrany format pliku to Wymiana informacji osobistych (.p12) i zapisz plik w miejscu, w którym będziesz mógł go znaleźć.
-
Wprowadź hasło, aby odblokować pęku kluczy (jeśli zostanie wyświetlony monit), a następnie utwórz hasło dla pliku .p12 i kliknij OK.
-
Otwarte
Terminal.app
, znajduje się w/Applications/Utilities/
folder i przejdź do folderu, w którym zapisałeś plik .p12 od kroku 5. -
Zastosowanie
openssl
aby wyodrębnić klucz prywatny z pliku .p12. (Uwaga: zastąp pokazane tutaj nazwy plików nazwą pliku .p12 i nazwą pliku, której chcesz użyć dla klucza). Najpierw zostaniesz poproszony o podanie hasła utworzonego w kroku 5, a następnie o utworzenie i zweryfikowanie hasła w celu ochrony klucza prywatnego.$ openssl pkcs12 -nocerts -in Certyfikaty.p12 -out privkey.key
-
Następnie musisz odszyfrować klucz prywatny. Wprowadź następujące polecenie, zastępując nazwy plików wejściowych i wyjściowych zgodnie z potrzebami (użycie tej samej nazwy, jak pokazano poniżej, nadpisze zaszyfrowany plik). Zostaniesz poproszony o wprowadzenie hasła utworzonego w kroku 7.
$ openssl rsa -in klucz prywatny.klucz -out klucz prywatny.klucz
- Umieść klucz prywatny, certyfikat i pliki pakietów pośrednich w bezpiecznym katalogu, w którym Apache może je odczytać. W tym celu użyjemy
/private/etc/apache2/
. W zależności od wybranej lokalizacji może być konieczne użyciesudo
przenieść pliki. -
Otwórz główny plik konfiguracyjny Apache,
httpd.conf
, w edytorze tekstu. W standardowej instalacji Mojave Apache plik ten znajduje się w/private/etc/apache2/
informator. Aby otworzyć plik do edycji za pomocąnano
, wykonaj następujące polecenie:$ sudo nano /private/etc/apache2/httpd.conf
Uwaga: Ponieważ używaszsudo
aby tymczasowo przyjąć wystarczające uprawnienia do edycji tego pliku, przed kontynuowaniem zostaniesz poproszony o podanie hasła. -
Znajdź te linie w
httpd.conf
i odkomentuj je, usuwając#
znak na początku każdej linii: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 / etc / apache extra / httpd-ssl.conf
Uwaga: jeśli używasznano
edytowaćhttpd.conf
, możesz wyszukiwać ciągi tekstowe za pomocąCtrl-W
- Zapisz
httpd.conf
i wyjdź z edytora tekstu (Ctrl-O
, śledzony przezCtrl-X
innano
). -
Następnie otwórz
httpd-ssl.conf
do edycji:$ sudo nano /private/etc/apache2/extra/httpd-ssl.conf
-
Poszukaj następujących wierszy i upewnij się, że Apache nasłuchuje na porcie
443
. Jeśli port jest ustawiony na8443
lub inną wartość, zmień na443
.# # Gdy zapewniamy również SSL, musimy nasłuchiwać # standardowego portu HTTP (patrz wyżej) i portu HTTPS # Słuchaj 443
- Wyszukaj linię zaczynającą się od ciągu
<VirtualHost _default_:
(numer portu może się różnić) i skomentuj lub usuń cała kolekcja linie między tym a</virtualhost>
. - Zapisz
httpd-ssl.conf
i wyjdź z edytora tekstu. -
Następnie otwórz
httpd-vhosts.conf
do edycji:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Utwórz wpis VirtualHost dla witryny, którą chcesz chronić (użyj rzeczywistych wartości dla swojej witryny i serwera zamiast pokazanych tutaj symboli zastępczych), a następnie zapisz plik i zamknij edytor tekstu.
DocumentRoot „/PATH/TO/WEBSITE” Nazwa serwera NAZWA SERWERA SSLEngine w pliku 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"
-
Sprawdź konfigurację Apache za pomocą następującego polecenia:
$ sudo test konfiguracji apachectl
-
Jeśli wszystko jest w porządku, uruchom ponownie Apache:
$ restart sudo apachectl
-
Jeśli wszystko poszło dobrze, gotowe! Powinieneś być w stanie przejść do witryny HTTPS w przeglądarce internetowej.