Denne fremgangsmåten vil demonstrere hvordan du installerer en SSL /TLS sertifikat på macOS 10.14 Mojave. To scenarier er gitt:
- Installer en SSL /TLS sertifikat for hele systemet i Keychain Access
- Installer en SSL /TLS sertifikat for bruk med Apache-serveren som følger med macOS
Avhengig av situasjonen din, kan det være lurt å gjøre en eller begge disse tingene; for eksempel, hvis du setter opp et lokalt utviklingsmiljø og vil at sertifikatet skal være tilgjengelig for både Apache og klientprogramvare, for eksempel nettlesere, vil du gjøre begge deler. I begge tilfeller begynner vi med å anta at du genererte forespørselen om sertifikatsignering (CSR) i Keychain Access, som vist i vår how-to. I dette tilfellet vil din private nøkkel allerede være installert i nøkkelringadgang. Vi kommer også til å anta at validering er fullført og sertifikatet ditt er klart for nedlasting. For informasjon om bestilling og henting av sertifikater, se vår veiledning, Bestille og hente SSL /TLS sertifikater.
Første trinn
-
Last ned sertifikatbunten fra brukerkontoen din ved å bruke Apache nedlastingslenke.
-
Pakk ut filen. Det skal inneholde sertifikatet ditt (filnavnet vil være basert på det vanlige navnet i din CSR og avslutt med
.crt
) og CA-pakken (ca-bundle-client.crt
).
Installere sertifikatet i nøkkelringtilgang
-
Åpen Nøkkelringstilgang.app, lokalisert i / Programmer / Verktøy.
-
Velg nøkkelringen der tastaturet ditt er installert. I dette tilfellet er det System nøkkelring.
-
naviger til Fil> Importer elementer ...
-
Naviger til det nye sertifikatet, velg det og klikk Åpen.
-
Skriv inn passordet ditt og klikk Endre nøkkelring.
- Gjenta trinn 3-5 ovenfor med
ca-bundle-client.crt
å installere den mellomliggende sertifikatkjeden. -
Du kan bekrefte at sertifikatene er installert ved å velge sertifikater fra menyen til venstre.
Installer sertifikatet for Apache
-
Hvis du generert din CSR i nøkkelringstilgang, må du eksportere din private nøkkel som en fil for bruk med Apache. Åpen Nøkkelringstilgang.app, lokalisert i / Programmer / Verktøy. (Hvis du generert CSR med OpenSSL eller med SSL.com CSR Leder Du kan hoppe til trinn 9 nedenfor.)
-
Bruk venstre sidefeltmeny for å begrense valgene dine, finn og velg den private nøkkelen du ønsker å eksportere. I dette tilfellet skal vi eksportere den private nøkkelen for
www.lunchinhouston.com
, som ligger iSystem
nøkkelring. -
Velg Fil> Eksporter elementer ... fra menyen.
-
Forsikre deg om at det valgte filformatet er Utveksling av personlig informasjon (.p12) og lagre filen på et sted der du kan finne den.
-
Skriv inn passordet ditt for å låse opp nøkkelringen (hvis du blir bedt om det), og lag deretter et passord for .p12-filen og klikk OK.
-
Åpen
Terminal.app
, som ligger i/Applications/Utilities/
mappen, og naviger til mappen der du lagret .p12-filen fra trinn 5. -
Bruk
openssl
for å trekke ut den private nøkkelen fra .p12-filen. (OBS: erstatt filnavnene som vises her for navnet på .p12-filen og og filnavnet du vil bruke til nøkkelen). Du blir først bedt om å oppgi passordet du opprettet i trinn 5, og deretter bli bedt om å opprette og bekrefte et passord for å beskytte den private nøkkelen.$ openssl pkcs12 -nocerts -in Sertifikater.p12 -out privkey.key
-
Deretter må du dekryptere den private nøkkelen. Skriv inn følgende kommando, og erstatt navnene på inngangs- og utdatafilene etter ønske (ved å bruke samme navn som vist nedenfor vil overskrive den krypterte filen). Du blir bedt om å oppgi passordet du opprettet i trinn 7.
$ openssl rsa -i privkey.key -out privkey.key
- Legg den private nøkkelen, sertifikatet og mellomliggende pakkefiler i en sikker katalog der Apache kan lese dem. For denne bruksanvisningen
/private/etc/apache2/
. Avhengig av hvilket sted du velger, kan det hende du trenger å brukesudo
å flytte filene. -
Åpne Apaches hovedkonfigurasjonsfil,
httpd.conf
, i en tekstredigerer. På Mojave standard Apache-installasjon ligger denne filen i/private/etc/apache2/
katalogen. Åpne filen for redigering mednano
, utfør følgende kommando:$ sudo nano /private/etc/apache2/httpd.conf
OBS: Fordi du brukersudo
Hvis du midlertidig skal påta deg tilstrekkelige privilegier til å redigere denne filen, blir du bedt om å oppgi passordet ditt før du fortsetter. -
Finn disse linjene i
httpd.conf
og kammentere dem ved å fjerne#
tegnet i begynnelsen av 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 ... Inkluder / privat / etc / etc ekstra / httpd-ssl.conf
OBS: hvis du brukernano
å redigerehttpd.conf
, kan du søke etter tekststrenger medCtrl-W
- Spar
httpd.conf
og gå ut av tekstredigereren (Ctrl-O
, Etterfulgt avCtrl-X
innano
). -
Neste, åpne
httpd-ssl.conf
for redigering:$ sudo nano /private/etc/apache2/extra/httpd-ssl.conf
-
Se etter de følgende linjene og sørg for at Apache lytter på porten
443
. Hvis porten er satt til8443
eller annen verdi, endre den til443
.# # Når vi også tilbyr SSL, må vi lytte til # standard HTTP-port (se ovenfor) og til HTTPS-porten # Lytt 443
- Søk etter en linje som begynner med strengen
<VirtualHost _default_:
(portnummeret kan variere) og kommenter eller fjern alle linjer mellom det og</virtualhost>
. - Spar
httpd-ssl.conf
og gå ut av tekstredigereren. -
Neste, åpne
httpd-vhosts.conf
for redigering:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Lag en VirtualHost-oppføring for nettstedet du ønsker å beskytte (bruk de faktiske verdiene for nettstedet og serveren din i stedet for plassholderen som vises her), lagre filen og avslutt 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 /apache8/server.key" SSLCertificateChainFile "https://ee2cc2f1.rocketcdn.me/private/etc/apache8/ca-bundle-client.crt"
-
Sjekk Apache-konfigurasjonen med følgende kommando:
$ sudo apachectl configtest
-
Hvis alt er bra, start Apache på nytt:
$ sudo apachectl start på nytt
-
Hvis alt gikk riktig, er du ferdig! Du bør kunne navigere til HTTPS-nettstedet i en nettleser.