Tento postup předvede, jak nainstalovat SSL /TLS certifikát na macOS 10.14 Mojave. K dispozici jsou dva scénáře:
- Nainstalujte SSL /TLS certifikát pro použití v systému v Keychain Access
- Nainstalujte SSL /TLS certifikát pro použití se serverem Apache součástí MacOS
V závislosti na vaší situaci možná budete chtít provést jednu nebo obě tyto věci; například pokud nastavujete místní vývojové prostředí a chcete, aby byl certifikát k dispozici jak pro Apache, tak pro klientský software, jako jsou webové prohlížeče, udělali byste obojí. V obou případech začneme předpokládáním, že jste vygenerovali svůj požadavek na podpis certifikátu (CSR) v Keychain Access, jak je uvedeno v našem jak na to. V tomto případě bude váš soukromý klíč již nainstalován v Keychain Access. Předpokládáme také, že ověření je dokončeno a váš certifikát je připraven ke stažení. Informace o objednávání a získávání certifikátů najdete v našem návodu, Objednávání a načítání SSL /TLS Certifikáty.
První kroky
-
Stáhněte si balíček certifikátů z vašeho uživatelského účtu pomocí Apache odkaz ke stažení.
-
Rozbalte soubor. Měl by obsahovat váš certifikát (název souboru bude založen na běžném názvu ve vašem CSR a končí
.crt
) a svazek CA (ca-bundle-client.crt
).
Instalace certifikátu do přístupu Keychain
-
Otevřená Klíčenka Access.app, nacházející se v / Aplikace / Nástroje.
-
Vyberte klíčenku, kde je nainstalován váš pár klíčů. V tomto případě je to Systém klíčenka.
-
přejděte na Soubor> Importovat položky…
-
Přejděte na nový certifikát, vyberte jej a klikněte na Otevřená.
-
Zadejte své heslo a klikněte na Upravit klíčenku.
- Opakujte kroky 3-5 výše pomocí
ca-bundle-client.crt
Chcete-li nainstalovat řetězec zprostředkujících certifikátů. -
Výběrem můžete potvrdit, že byly certifikáty nainstalovány Certifikáty z nabídky levého postranního panelu.
Nainstalujte certifikát pro Apache
-
jestli ty vygeneroval váš CSR v Keychain Access, budete muset exportovat svůj soukromý klíč jako soubor pro použití s Apache. otevřeno Klíčenka Access.app, nacházející se v / Aplikace / Nástroje. (Jestli ty vytvořil CSR s OpenSSL nebo s SSL.com CSR Manažer můžete přeskočit na krok 9 níže.)
-
Pomocí nabídky levého postranního panelu zúžit výběr, najít a vybrat soukromý klíč, který chcete exportovat. V tomto případě budeme exportovat soukromý klíč pro
www.lunchinhouston.com
, který se nachází vSystem
klíčenka. -
Vybrat Soubor> Exportovat položky… z menu.
-
Zkontrolujte, zda je vybraný formát souboru Výměna osobních údajů (.p12) a uložte soubor na místo, kde jej budete moci najít.
-
Zadejte heslo pro odemknutí klíčenky (pokud se zobrazí výzva), poté vytvořte heslo pro soubor .p12 a klikněte na OK.
-
Otevřená
Terminal.app
, který se nachází v/Applications/Utilities/
a přejděte do složky, do které jste uložili soubor .p12 z kroku 5. -
Použijte
openssl
extrahovat soukromý klíč ze souboru .p12. (Poznámka: nahraďte zde uvedené názvy souborů názvem vašeho souboru .p12 a názvu souboru, který chcete použít pro klíč). Nejprve budete vyzváni k zadání hesla, které jste vytvořili v kroku 5, a poté budete vyzváni k vytvoření a ověření hesla k ochraně soukromého klíče.$ openssl pkcs12 -nocerts -in Certificates.p12 -out privkey.key
-
Dále budete muset dešifrovat soukromý klíč. Zadejte následující příkaz a podle potřeby nahraďte názvy vstupních a výstupních souborů (pomocí stejného jména, jak je uvedeno níže, zašifrovaný soubor přepíše). Budete vyzváni k zadání hesla, které jste vytvořili v kroku 7.
$ openssl rsa -in privkey.key -out privkey.key
- Umístěte soubory soukromého klíče, certifikátu a prostředního svazku do zabezpečeného adresáře, kde je Apache dokáže přečíst. K tomu použijeme návod
/private/etc/apache2/
. V závislosti na vybraném umístění budete možná muset použítsudo
přesouvat soubory. -
Otevřete hlavní konfigurační soubor Apache,
httpd.conf
, v textovém editoru. Při standardní instalaci Mojave Apache je tento soubor umístěn v adresáři/private/etc/apache2/
adresář. Otevření souboru pro úpravy pomocínano
, spusťte následující příkaz:$ sudo nano /private/etc/apache2/httpd.conf
Poznámka: Protože používátesudo
Chcete-li dočasně převzít dostatečná oprávnění pro úpravu tohoto souboru, budete před pokračováním vyzváni k zadání hesla. -
Najděte tyto řádky v
httpd.conf
a odkomentujte je odstraněním#
znak na začátku každého řádku:LoadModule socache_shmcb_module libexec / apache2 / mod_socache_shmcb.so ... LoadModule ssl_module libexec / apache2 / mod_ssl.so ... Zahrnout /private/etc/apache2/extra/httpd-vhosts.conf ... Zahrnout / privátní / etc / apache / privátní / etc / apache / private / etc / apache / private / etc / apache / private / etc / apache / private / etc / apache / private / etc / apache extra / httpd-ssl.conf
Poznámka: pokud používátenano
upravovathttpd.conf
, můžete vyhledávat textové řetězce pomocíCtrl-W
- Uložit
httpd.conf
a ukončete textový editor (Ctrl-O
, následovánCtrl-X
innano
). -
Dále otevřete
httpd-ssl.conf
pro úpravy:$ sudo nano /private/etc/apache2/extra/httpd-ssl.conf
-
Vyhledejte následující řádky a ujistěte se, že Apache poslouchá na portu
443
. Pokud je port nastaven na8443
nebo jinou hodnotu, změňte ji na443
.# # Když také poskytujeme SSL, musíme poslouchat # standardní port HTTP (viz výše) a port HTTPS # Poslouchat 443
- Vyhledejte řádek začínající řetězcem
<VirtualHost _default_:
(číslo portu se může lišit) a přidávat komentáře nebo odebírat všechno řádky mezi tím a</virtualhost>
. - Uložit
httpd-ssl.conf
a ukončete textový editor. -
Dále otevřete
httpd-vhosts.conf
pro úpravy:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Vytvořte položku VirtualHost pro web, který chcete chránit (použijte skutečné hodnoty pro svůj web a server namísto zde zobrazených zástupných symbolů), potom soubor uložte a ukončete textový editor.
DocumentRoot "/PATH/TO/WEBSITE" ServerName SERVERNAME SSLEngine na SSLCertificateFile "https://ee443cc2f1.rocketcdn.me/private/etc/apache8/server.crt" SSLCertificateKeyFile "https://ee2cc2f1.etrocketccd" /apache8/server.key" SSLCertificateChainFile "https://ee2cc2f1.rocketcdn.me/private/etc/apache8/ca-bundle-client.crt"
-
Zkontrolujte konfiguraci Apache pomocí následujícího příkazu:
$ sudo apachectl configtest
-
Pokud je vše v pořádku, restartujte Apache:
$ sudo apachectl Restart
-
Pokud vše proběhlo správně, máte hotovo! Měli byste být schopni přejít na svůj web HTTPS ve webovém prohlížeči.