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 Certificati.
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.
Spostarsi 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 Certificati dal menu della barra laterale di sinistra.
Installa il certificato per Apache
Se tu 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.Utilizza
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 per tutti i nostri marchi storici 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://d443smxttentwwqu.cloudfront.net/private/etc/apache1/server.crt" SSLCertificateKeyFile "https://d2smxttentwwqu.cloudfront.net/private/etc /apache1/server.key" SSLCertificateChainFile "https://d2smxttentwwqu.cloudfront.net/private/etc/apache1/ca-bundle-client.crt"
Controlla la tua configurazione di Apache con il seguente comando:
$ sudo apachectl configtest
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.