Deze how-to laat zien hoe u een SSL /TLS certificaat op macOS 10.14 Mojave. Er zijn twee scenario's beschikbaar:
- Installeer een SSL /TLS certificaat voor systeemwijd gebruik in Sleutelhangertoegang
- Installeer een SSL /TLS certificaat voor gebruik met de Apache-server die bij macOS wordt geleverd
Afhankelijk van uw situatie wilt u misschien een of beide dingen doen; Als u bijvoorbeeld een lokale ontwikkelomgeving opzet en u wilt dat het certificaat beschikbaar is voor zowel Apache als clientsoftware zoals webbrowsers, dan doet u beide. In beide gevallen gaan we ervan uit dat u uw certificaatondertekeningsverzoek (CSR) in Sleutelhangertoegang, zoals getoond in onze hoe. In dit geval is uw privésleutel al geïnstalleerd in Sleutelhangertoegang. We gaan er ook van uit dat de validatie is voltooid en dat uw certificaat klaar is om te downloaden. Voor informatie over het bestellen en opvragen van certificaten, zie onze how-to, SSL bestellen en ophalen /TLS Certificeringen.
Eerste stappen
-
Download de certificaatbundel van uw gebruikersaccount met behulp van de apache download link.
-
Pak het bestand uit. Het moet uw certificaat bevatten (de bestandsnaam is gebaseerd op de algemene naam in uw CSR en eindigen met
.crt
) en de CA-bundel (ca-bundle-client.crt
).
Het certificaat installeren in Sleutelhangertoegang
-
Openen Sleutelhanger Access.app, gelegen in / Applications / Utilities.
-
Selecteer de sleutelhanger waarop uw sleutelpaar is geïnstalleerd. In dit geval is het de Systeem sleutelhanger.
-
Navigeer naar Bestand> Items importeren ...
-
Navigeer naar uw nieuwe certificaat, selecteer het en klik op Openen.
-
Voer uw wachtwoord in en klik Wijzig sleutelhanger.
- Herhaal stap 3-5 hierboven met
ca-bundle-client.crt
om de tussenliggende certificaatketen te installeren. -
U kunt bevestigen dat de certificaten zijn geïnstalleerd door te selecteren Certificeringen vanuit het linkerzijbalkmenu.
Installeer het certificaat voor Apache
-
als u gegenereerd uw CSR in Sleutelhangertoegang, moet u uw privésleutel exporteren als een bestand voor gebruik met Apache. Open Sleutelhanger Access.app, gelegen in / Applications / Utilities. (Als jij gegenereerd de CSR met OpenSSL of met SSL.com's CSR Manager u kunt doorgaan naar stap 9 hieronder.)
-
Gebruik het linkerzijbalkmenu om uw keuzes te beperken, zoek en selecteer de privésleutel die u wilt exporteren. In dit geval gaan we de privésleutel exporteren voor
www.lunchinhouston.com
, gelegen in deSystem
sleutelhanger. -
Kies Bestand> Items exporteren ... in het menu.
-
Zorg ervoor dat het geselecteerde bestandsformaat is Persoonlijke informatie-uitwisseling (.p12) en sla het bestand op een plaats op waar u het kunt vinden.
-
Voer uw wachtwoord in om de sleutelhanger te ontgrendelen (als daarom wordt gevraagd), maak vervolgens een wachtwoord voor het .p12-bestand en klik op OK.
-
Openen
Terminal.app
, gelegen in de/Applications/Utilities/
map en navigeer naar de map waar u het .p12-bestand vanaf stap 5 hebt opgeslagen. -
Te gebruiken
openssl
om de privésleutel uit het .p12-bestand te halen. (Opmerking: vervang de hier weergegeven bestandsnamen door de naam van uw .p12-bestand en de bestandsnaam die u voor de sleutel wilt gebruiken). U wordt eerst gevraagd om het wachtwoord in te voeren dat u in stap 5 hebt gemaakt, en vervolgens om een wachtwoord te maken en te verifiëren om de privésleutel te beschermen.$ openssl pkcs12 -nocerts -in Certificaten.p12 -out privkey.key
-
Vervolgens moet u de privésleutel decoderen. Voer de volgende opdracht in en vervang desgewenst de namen van de invoer- en uitvoerbestanden (met dezelfde naam zoals hieronder weergegeven, wordt het gecodeerde bestand overschreven). U wordt gevraagd het wachtwoord in te voeren dat u in stap 7 heeft gemaakt.
$ openssl rsa -in privkey.key -uit privkey.key
- Plaats de privésleutel, het certificaat en de tussenliggende bundelbestanden in een veilige map waar Apache ze kan lezen. Voor deze how-to gebruiken we
/private/etc/apache2/
. Afhankelijk van de gekozen locatie moet u mogelijk gebruikensudo
om de bestanden te verplaatsen. -
Open het hoofdconfiguratiebestand van Apache,
httpd.conf
, in een teksteditor. Bij de standaard Apache-installatie van Mojave bevindt dit bestand zich in de/private/etc/apache2/
directory. Om het bestand te openen om te bewerken metnano
, voer de volgende opdracht uit:$ sudo nano /private/etc/apache2/httpd.conf
Opmerking: Omdat je gebruiktsudo
Als u tijdelijk voldoende rechten wilt aannemen om dit bestand te bewerken, wordt u gevraagd uw wachtwoord in te voeren voordat u doorgaat. -
Vind deze regels in
httpd.conf
en verwijder ze door het verwijderen van de#
teken aan het begin van elke regel:LoadModule socache_shmcb_module libexec / apache2 / mod_socache_shmcb.so ... LoadModule ssl_module libexec / apache2 / mod_ssl.so ... Inclusief /private/etc/apache2/extra/httpd-vhosts.conf ... Inclusief / privé / etc / apache2 extra / httpd-ssl.conf
Opmerking: als je gebruiktnano
aanpassenhttpd.conf
kunt u zoeken naar tekstreeksen metCtrl-W
- Bespaar
httpd.conf
en verlaat de teksteditor (Ctrl-O
, Gevolgd doorCtrl-X
innano
). -
Open vervolgens
httpd-ssl.conf
voor bewerken:$ sudo nano /private/etc/apache2/extra/httpd-ssl.conf
-
Zoek naar de volgende regels en zorg ervoor dat Apache op poort luistert
443
. Als de poort is ingesteld op8443
of een andere waarde, verander het in443
.# # Als we ook SSL leveren, moeten we luisteren naar de # standaard HTTP-poort (zie hierboven) en naar de HTTPS-poort # Listen 443
- Zoek naar een regel die begint met de string
<VirtualHost _default_:
(het poortnummer kan variëren) en opmerkingen plaatsen of verwijderen allen lijnen tussen dat en</virtualhost>
. - Bespaar
httpd-ssl.conf
en verlaat de teksteditor. -
Open vervolgens
httpd-vhosts.conf
voor bewerken:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Maak een VirtualHost-vermelding voor de site die u wilt beschermen (gebruik de werkelijke waarden voor uw website en server in plaats van de hier getoonde tijdelijke aanduidingen), sla het bestand op en sluit de teksteditor af.
DocumentRoot "/PATH/TO/WEBSITE" ServerName SERVERNAME SSLEngine op SSLCertificateFile "https://ee443cc2f1.delivery.rocketcdn.me/private/etc/apache8/server.crt" SSLCertificateKeyFile "https://ee2cc2f1.delivery.rocketcdn.me/private/etc/apache8/server.key" SSLCertificateChainFile "https://ee2cc2f1.delivery.rocketcdn.me/private/etc/apache8/ca-bundle-client.crt"
-
Controleer uw Apache-configuratie met de volgende opdracht:
$ sudo apachectl configuratietest
-
Als alles in orde is, start u Apache opnieuw op:
$ sudo apachectl herstart
-
Als alles goed is gegaan, ben je klaar! U zou in een webbrowser naar uw HTTPS-website moeten kunnen navigeren.