Denne vejledning viser, hvordan du installerer en SSL /TLS certifikat på macOS 10.14 Mojave. Der gives to scenarier:
- Installer en SSL /TLS certifikat til hele systemet brug i Keychain Access
- Installer en SSL /TLS certifikat til brug med Apache-serveren inkluderet i macOS
Afhængigt af din situation vil du måske gøre en eller begge disse ting; for eksempel, hvis du opretter et lokalt udviklingsmiljø og vil have certifikatet tilgængeligt for både Apache og klientsoftware, såsom webbrowsere, ville du gøre begge dele. I begge tilfælde begynder vi med at antage, at du genererede din anmodning om certifikatsignatur (CSR) i Keychain Access, som vist i vores how-to. I dette tilfælde vil din private nøgle allerede være installeret i Keychain Access. Vi antager også, at valideringen er fuldført, og at dit certifikat er klar til download. For information om bestilling og hentning af certifikater, se vores vejledning, Bestilling og hentning af SSL /TLS Certifikater.
Første skridt
-
Download certifikatpakken fra din brugerkonto ved hjælp af Apache download link.
-
Pak filen ud. Det skal indeholde dit certifikat (filnavnet vil være baseret på det almindelige navn i dit CSR og slutte med
.crt
) og CA-bundtet (ca-bundle-client.crt
).
Installation af certifikatet i adgangskode til nøglering
-
Åbne Nøglering Access.app, placeret i / Programmer / Hjælpeprogrammer.
-
Vælg nøglering, hvor dit tastatur er installeret. I dette tilfælde er det Systemkrav nøglering.
-
Naviger til File> Import Items ...
-
Naviger til dit nye certifikat, vælg det, og klik Åbne.
-
Indtast din adgangskode, og klik på Rediger nøglering.
- Gentag trin 3-5 ovenfor med
ca-bundle-client.crt
at installere den mellemliggende certifikatkæde. -
Du kan bekræfte, at certifikaterne er installeret ved at vælge Certifikater fra menuen til venstre side.
Installer certifikatet til Apache
-
Hvis du genereret din CSR i Keychain Access, skal du eksportere din private nøgle som en fil til brug med Apache. Åben Nøglering Access.app, placeret i / Programmer / Hjælpeprogrammer. (Hvis du genereret CSR med OpenSSL eller med SSL.com's CSR Manager Du kan springe til trin 9 nedenfor.)
-
Brug den venstre sidebar menu til at indsnævre dine valg, find og vælg den private nøgle, du vil eksportere. I dette tilfælde eksporterer vi den private nøgle til
www.lunchinhouston.com
, beliggende iSystem
nøglering. -
Vælg File> Export Items… fra menuen.
-
Sørg for, at det valgte filformat er Udveksling af personlig information (.p12) og gem filen på et sted, hvor du kan finde den.
-
Indtast din adgangskode for at låse nøglering op (hvis du bliver bedt om det), og opret derefter en adgangskode til .p12-filen, og klik OK.
-
Åbne
Terminal.app
, beliggende i/Applications/Utilities/
-mappen, og naviger til den mappe, hvor du lagrede .p12-filen fra trin 5. -
Brug
openssl
for at udtrække den private nøgle fra .p12-filen. (Bemærk: erstat de filnavne, der er vist her, med navnet på din .p12-fil og og det filnavn, du vil bruge til nøglen). Du bliver først bedt om at indtaste det adgangskode, du oprettede i trin 5, og derefter blive bedt om at oprette og verificere en adgangskode for at beskytte den private nøgle.$ openssl pkcs12 -nocerts -in Certifikater.p12 -out privkey.key
-
Derefter skal du dekryptere den private nøgle. Indtast følgende kommando, og erstatt navnene på input- og outputfilerne som ønsket (ved at bruge det samme navn som vist nedenfor, overskrives den krypterede fil). Du bliver bedt om at indtaste den adgangskode, du oprettede i trin 7.
$ openssl rsa -i privkey.key -out privkey.key
- Sæt den private nøgle, certifikat og mellemliggende bundtfiler i et sikkert bibliotek, hvor Apache kan læse dem. Til denne vejledning bruger vi
/private/etc/apache2/
. Afhængigt af det valgte sted skal du muligvis brugesudo
at flytte filerne. -
Åbn Apaches hovedkonfigurationsfil,
httpd.conf
, i en teksteditor. På Mojave standard Apache-installation er denne fil placeret i/private/etc/apache2/
vejviser. Åbn filen til redigering mednano
, udfør følgende kommando:$ sudo nano /private/etc/apache2/httpd.conf
Bemærk: Fordi du brugersudo
for midlertidigt at antage tilstrækkelige privilegier til at redigere denne fil, bliver du bedt om at indtaste din adgangskode, før du fortsætter. -
Find disse linjer i
httpd.conf
og fjern dem ved at fjerne#
tegn i starten af hver linje:LoadModule socache_shmcb_module libexec / apache2 / mod_socache_shmcb.so ... LoadModule ssl_module libexec / apache2 / mod_ssl.so ... Inkluder /private/etc/apache2/extra/httpd-vhosts.conf ... Inkludere / private / etc ekstra / httpd-ssl.conf
Bemærk: hvis du brugernano
at redigerehttpd.conf
, kan du søge efter tekststrenge medCtrl-W
- Gem
httpd.conf
og forlade teksteditoren (Ctrl-O
, efterfulgt afCtrl-X
innano
). -
Åbn derefter
httpd-ssl.conf
til redigering:$ sudo nano /private/etc/apache2/extra/httpd-ssl.conf
-
Se efter følgende linjer, og sørg for, at Apache lytter til port
443
. Hvis porten er indstillet til8443
eller anden værdi, skal du ændre den til443
.# # Når vi også leverer SSL, er vi nødt til at lytte til # standard HTTP-port (se ovenfor) og til HTTPS-porten # Lyt 443
- Søg efter en linje, der begynder med strengen
<VirtualHost _default_:
(portnummeret kan variere) og kommentere eller fjerne alle linjer mellem det og</virtualhost>
. - Gem
httpd-ssl.conf
og lukke teksteditoren. -
Åbn derefter
httpd-vhosts.conf
til redigering:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Opret en VirtualHost-post til det websted, du ønsker at beskytte (brug de faktiske værdier for dit websted og server i stedet for de pladsholder, der vises her), gem derefter filen og afslut teksteditoren.
DocumentRoot "/PATH/TO/WEBSITE" Servernavn 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"
-
Tjek din Apache-konfiguration med følgende kommando:
$ sudo apachectl konfigtest
-
Hvis alt er i orden, skal du genstarte Apache:
Genstart af $ sudo apachectl
-
Hvis alt gik korrekt, er du færdig! Du skal være i stand til at navigere til dit HTTPS-websted i en webbrowser.