Questa guida dimostrerà come installare un SSL /TLS certificato su macOS 10.14 Mojave. Sono previsti due scenari:
- Installa un SSL /TLS certificato per l'utilizzo a livello di sistema in Keychain Access
- Installa un SSL /TLS certificato per l'uso con il server Apache incluso con macOS
A seconda della situazione, potresti voler fare una o entrambe queste cose; ad esempio, se si sta configurando un ambiente di sviluppo locale e si desidera che il certificato sia disponibile sia per Apache che per il software client come i browser Web, è necessario fare entrambe le cose. In entrambi i casi inizieremo supponendo che tu abbia generato la tua richiesta di firma del certificato (CSR) in Accesso Portachiavi, come mostrato nel nostro how-to. In questo caso, la tua chiave privata sarà già installata in Accesso Portachiavi. Inoltre presumeremo che la convalida sia completa e il certificato sia pronto per il download. Per informazioni sull'ordinazione e il recupero dei certificati, consultare la nostra guida, Ordinazione e recupero di SSL /TLS Professionali.
Primi passi
-
Scarica il pacchetto di certificati dal tuo account utente, utilizzando il Apache Link per scaricare.
-
Decomprimi il file. Dovrebbe contenere il tuo certificato (il nome del file sarà basato sul nome comune nel tuo CSR e finisci con
.crt
) e il pacchetto CA (ca-bundle-client.crt
).
Installazione del certificato in Accesso portachiavi
-
Apri Portachiavi Access.app, situata in / Applicazioni / Utility.
-
Seleziona il portachiavi in cui è installata la tua coppia di chiavi. In questo caso è il file Sistema portachiavi.
-
Accedere a File> Importa elementi ...
-
Passare al nuovo certificato, selezionarlo e fare clic Apri.
-
Inserisci la password e fai clic Modifica portachiavi.
- Ripetere i passaggi 3-5 sopra con
ca-bundle-client.crt
per installare la catena di certificati intermedia. -
È possibile confermare che i certificati sono stati installati selezionando Professionali dal menu della barra laterale di sinistra.
Installa il certificato per Apache
-
Se hai generato il tuo CSR in Accesso Portachiavi, dovrai esportare la tua chiave privata come file da utilizzare con Apache. Aperto Portachiavi Access.app, situata in / Applicazioni / Utility. (Se tu generato il CSR con OpenSSL o con SSL.com CSR direttore puoi andare al passaggio 9 di seguito).
-
Usando il menu della barra laterale di sinistra per restringere le tue scelte, trova e seleziona la chiave privata che desideri esportare. In questo caso esporteremo la chiave privata per
www.lunchinhouston.com
, Situata nellaSystem
portachiavi. -
Scegli File> Esporta elementi ... dal menu.
-
Assicurarsi che il formato file selezionato sia Scambio di informazioni personali (.p12) e salva il file in un posto dove potrai trovarlo.
-
Immettere la password per sbloccare il portachiavi (se richiesto), quindi creare una password per il file .p12 e fare clic OK.
-
Apri
Terminal.app
, Situata nella/Applications/Utilities/
cartella e passare alla cartella in cui è stato archiviato il file .p12 dal passaggio 5. -
Usa il
openssl
per estrarre la chiave privata dal file .p12. (Nota: sostituisci i nomi dei file mostrati qui per il nome del tuo file .p12 e il nome del file che desideri utilizzare per la chiave). Prima ti verrà chiesto di inserire la password che hai creato nel passaggio 5, quindi ti verrà richiesto di creare e verificare una password per proteggere la chiave privata.$ openssl pkcs12 -nocerts -in Certificates.p12 -out privkey.key
-
Successivamente, dovrai decrittografare la chiave privata. Immettere il comando seguente, sostituendo i nomi dei file di input e output come desiderato (utilizzando lo stesso nome mostrato di seguito verrà sovrascritto il file crittografato). Ti verrà richiesto di inserire la password che hai creato al passaggio 7.
$ openssl rsa -in privkey.key -out privkey.key
- Metti la chiave privata, il certificato e i file del bundle intermedio in una directory sicura dove Apache può leggerli. Per questo how-to useremo
/private/etc/apache2/
. A seconda della posizione scelta, potrebbe essere necessario utilizzaresudo
per spostare i file. -
Apri il file di configurazione principale di Apache,
httpd.conf
, in un editor di testo. Sull'installazione di Apache standard Mojave, questo file si trova in/private/etc/apache2/
directory. Per aprire il file per la modifica connano
, eseguire il comando seguente:$ sudo nano /private/etc/apache2/httpd.conf
Nota: Perché stai usandosudo
per assumere temporaneamente i privilegi sufficienti per modificare questo file, ti verrà chiesto di inserire la password prima di continuare. -
Trova queste righe in
httpd.conf
e decommentarli rimuovendo il file#
carattere all'inizio di ogni riga:LoadModule socache_shmcb_module libexec / apache2 / mod_socache_shmcb.so ... LoadModule ssl_module libexec / apache2 / mod_ssl.so ... Include /private/etc/apache2/extra/httpd-vhosts.conf ... Include / private / etc / apache2 extra / httpd-ssl.conf
Nota: se stai usandonano
modificarehttpd.conf
, puoi cercare stringhe di testo conCtrl-W
- Risparmi
httpd.conf
e chiudere l'editor di testo (Ctrl-O
, Seguita daCtrl-X
innano
). -
Quindi, apri
httpd-ssl.conf
per la modifica:$ sudo nano /private/etc/apache2/extra/httpd-ssl.conf
-
Cerca le seguenti righe e assicurati che Apache sia in ascolto sulla porta
443
. Se la porta è impostata su8443
o qualche altro valore, cambiarlo in443
.# # Quando forniamo anche SSL dobbiamo ascoltare # la porta HTTP standard (vedi sopra) e la porta HTTPS # Listen 443
- Cerca una riga che inizia con la stringa
<VirtualHost _default_:
(il numero di porta può variare) e commentare o rimuovere contro tutti i linee tra quella e</virtualhost>
. - Risparmi
httpd-ssl.conf
e chiudere l'editor di testo. -
Quindi, apri
httpd-vhosts.conf
per la modifica:$ sudo nano /private/etc/apache2/extra/httpd-vhosts.conf
-
Crea una voce VirtualHost per il sito che desideri proteggere (usa i valori effettivi per il tuo sito Web e server anziché quelli segnaposto mostrati qui), quindi salva il file ed esci dall'editor di testo.
DocumentRoot "/PATH/TO/WEBSITE" ServerName SERVERNAME SSLEngine su SSLCertificateFile "https://ee443cc2f1.rocketcdn.me/private/etc/apache8/server.crt" SSLCertificateKeyFile "https://ee2cc2f1.rocketcdn.me/private/etc /apache8/server.key" SSLCertificateChainFile "https://ee2cc2f1.rocketcdn.me/private/etc/apache8/ca-bundle-client.crt"
-
Controlla la tua configurazione di Apache con il seguente comando:
$ sudo apachectl test di configurazione
-
Se tutto va bene, riavvia Apache:
$ sudo apachectl riavvio
-
Se tutto è andato per il verso giusto, il gioco è fatto! Dovresti essere in grado di navigare al tuo sito web HTTPS in un browser web.