Den här instruktionen visar hur man installerar en SSL /TLS certifikat på macOS 10.14 Mojave. Två scenarier tillhandahålls:
- Installera en SSL /TLS certifikat för systemövergripande användning i Keychain Access
- Installera en SSL /TLS certifikat för användning med Apache-servern som ingår i macOS
Beroende på din situation kanske du vill göra en eller båda av dessa saker; om du till exempel ställer in en lokal utvecklingsmiljö och vill att certifikatet ska vara tillgängligt för både Apache och klientprogramvara som webbläsare, skulle du göra båda. I båda fallen börjar vi med att anta att du genererade din begäran om certifikatsignering (CSR) i Keychain Access, som visas i vår how-to. I det här fallet kommer din privata nyckel redan att installeras i Keychain Access. Vi kommer också att anta att valideringen är klar och att ditt certifikat är klart för nedladdning. För information om hur du beställer och hämtar certifikat, se vår vägledning, Beställa och hämta SSL /TLS Certifieringar.
Första steg
-
Ladda ner certifikatpaketet från ditt användarkonto med hjälp av Apache nedladdningslänk.
-
Packa upp filen. Det ska innehålla ditt certifikat (filnamnet kommer att baseras på det vanliga namnet i din CSR och sluta med
.crt
) och CA-paketet (ca-bundle-client.crt
).
Installera certifikatet i nyckelringstillträde
-
Öppen Nyckelring Access.app, beläget i / Program / Verktyg.
-
Välj nyckelring där ditt tangentbord är installerat. I det här fallet är det Systemkrav Nyckelring.
-
Navigera till Arkiv> Importera objekt ...
-
Navigera till ditt nya certifikat, markera det och klicka Öppen.
-
Ange ditt lösenord och klicka Ändra nyckelring.
- Upprepa steg 3-5 ovan med
ca-bundle-client.crt
att installera den mellanliggande certifikatkedjan. -
Du kan bekräfta att certifikaten har installerats genom att välja Certifieringar från menyn till vänster.
Installera certifikatet för Apache
-
Om du genererade din CSR i Keychain Access, måste du exportera din privata nyckel som en fil för användning med Apache. Öppen Nyckelring Access.app, beläget i / Program / Verktyg. (Om du genererade CSR med OpenSSL eller med SSL.com CSR chef Du kan hoppa till steg 9 nedan.)
-
Använd den vänstra sidomenyn för att begränsa dina val, hitta och välj den privata nyckel som du vill exportera. I det här fallet ska vi exportera den privata nyckeln till
www.lunchinhouston.com
, beläget iSystem
Nyckelring. -
Välja Arkiv> Exportera objekt ... från menyn.
-
Se till att det valda filformatet är Utbyte av personlig information (.p12) och spara filen på en plats där du kan hitta den.
-
Ange ditt lösenord för att låsa upp nyckelringen (om du uppmanas till det), skapa sedan ett lösenord för .p12-filen och klicka OK.
-
Öppen
Terminal.app
, beläget i/Applications/Utilities/
och navigera till mappen där du lagrade .p12-filen från steg 5. -
Använda
openssl
för att extrahera den privata nyckeln från .p12-filen. (Notera: ersätt de filnamn som visas här för namnet på din .p12-fil och det filnamn du vill använda för nyckeln). Du blir först ombedd att ange lösenordet du skapade i steg 5 och sedan uppmanas att skapa och verifiera ett lösenord för att skydda den privata nyckeln.$ openssl pkcs12 -nocerts -in Certifikat.p12 -out privkey.key
-
Därefter måste du dekryptera den privata nyckeln. Ange följande kommando genom att ersätta namnen på in- och utdatafilerna efter önskemål (med samma namn som visas nedan skriver den krypterade filen över). Du uppmanas att ange lösenordet du skapade i steg 7.
$ openssl rsa -i privkey.key -out privkey.key
- Lägg den privata nyckeln, certifikatet och mellanliggande buntfiler i en säker katalog där Apache kan läsa dem. För den här anvisningen kommer vi att använda
/private/etc/apache2/
. Beroende på vilken plats du valt kan du behöva användasudo
för att flytta filerna. -
Öppna Apaches huvudkonfigurationsfil,
httpd.conf
, i en textredigerare. På Mojave-Apache-standardinstallation finns den här filen i/private/etc/apache2/
katalogen. För att öppna filen för redigering mednano
, kör följande kommando:$ sudo nano /private/etc/apache2/httpd.conf
Notera: Eftersom du användersudo
för att tillfälligt ta tillräckliga behörigheter för att redigera den här filen, blir du ombedd att ange ditt lösenord innan du fortsätter. -
Hitta dessa rader i
httpd.conf
och ta bort dem genom att ta bort#
tecken i början av varje rad:LoadModule socache_shmcb_module libexec / apache2 / mod_socache_shmcb.so ... LoadModule ssl_module libexec / apache2 / mod_ssl.so ... Inkludera /private/etc/apache2/extra/httpd-vhosts.conf ... Inkludera / private / etc / apache extra / httpd-ssl.conf
Notera: om du användernano
att redigerahttpd.conf
, kan du söka efter textsträngar medCtrl-W
- Save
httpd.conf
och lämna textredigeraren (Ctrl-O
, Följt avCtrl-X
innano
). -
Nästa, öppna
httpd-ssl.conf
för redigering:$ sudo nano /private/etc/apache2/extra/httpd-ssl.conf
-
Leta efter följande rader och se till att Apache lyssnar på port
443
. Om porten är inställd på8443
eller något annat värde, ändra det till443
.# # När vi också tillhandahåller SSL måste vi lyssna på # standard HTTP-porten (se ovan) och till HTTPS-porten # Lyssna 443
- Sök efter en rad som börjar med strängen
<VirtualHost _default_:
(portnumret kan variera) och kommentera eller ta bort alla linjer mellan det och</virtualhost>
. - Save
httpd-ssl.conf
och lämna textredigeraren. -
Nästa, öppna
httpd-vhosts.conf
för redigering:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Skapa en VirtualHost-post för den webbplats du vill skydda (använd de faktiska värdena för din webbplats och server istället för de platshållare som visas här), spara sedan filen och avsluta textredigeraren.
DocumentRoot "/PATH/TO/WEBSITE" Servernamn SERVERNAME SSLEngine på SSLCertificateFile "https://ee443cc2f1.rocketcdn.me/private/etc/apache8/server.crt" SSLCertificateKeyFile "https://ee2cc2f1.rocketcdn.me/private/private /apache8/server.key" SSLCertificateChainFile "https://ee2cc2f1.rocketcdn.me/private/etc/apache8/ca-bundle-client.crt"
-
Kontrollera din Apache-konfiguration med följande kommando:
$ sudo apachectl konfigtest
-
Om allt är bra startar du om Apache:
Starta om $ sudo apachectl
-
Om allt gick korrekt är du klar! Du bör kunna navigera till din HTTPS-webbplats i en webbläsare.