Questo tutorial spiega come installare un certificato SSL su macOS. Copre l’importazione del certificato e del bundle CA con Keychain Access, il vecchio flusso di lavoro di macOS Server (Server.app) che molte configurazioni esistenti ancora utilizzano, e il percorso realistico per le versioni attuali di macOS in cui Server.app non è più presente.
Importante: Apple ha interrotto il prodotto macOS Server (Server.app). I servizi web, mail e la maggior parte dei servizi di hosting sono stati rimossi nel 2018, e l’app stessa è stata ritirata nell’aprile 2022. L’ultima versione, 5.12.2, funziona solo fino a macOS Monterey. I passaggi seguenti coprono sia il metodo tradizionale di Server.app sia l’approccio attuale.
Genera un codice CSR
Per attivare il tuo certificato SSL, devi inviare i dettagli sul tuo dominio e sulla tua organizzazione all’Autorità di Certificazione (CA). Questo passaggio standard si chiama Certificate Signing Request, o CSR. Hai due opzioni:
- Usa il nostro CSR Generator per creare automaticamente il CSR.
- Segui il nostro tutorial passo-passo su come generare un CSR su macOS.
Invia il CSR durante il tuo ordine. La CA convaliderà la tua richiesta e, una volta approvata, firmerà ed emetterà il certificato. Riceverai i file del certificato via email. Successivamente, continua con l’installazione descritta di seguito.
Installa un certificato SSL su macOS
I passaggi seguenti seguono il flusso di lavoro originale di macOS Server (Server.app): importa il bundle CA e il certificato con Keychain Access, poi assegna il certificato ai servizi nell’app Server. Se il tuo Mac non ha più l’app Server, salta a macOS attuale: senza Server.app dopo il Passaggio 2, poiché l’importazione in Keychain si applica comunque.
Passaggio 1: Prepara i file del tuo certificato
Scarica l’archivio ZIP inviato dalla CA ed estrailo. Dovresti avere un file con estensione .crt (il tuo certificato primario) e un file con estensione .ca-bundle (i certificati root e intermedi, chiamati anche bundle CA). Avrai anche bisogno della chiave privata creata insieme al CSR.
Passaggio 2: Aggiungi il file .ca-bundle a Keychain Access
Inizia con il bundle CA. Contiene i certificati root e intermedi che browser e client usano per costruire una catena di fiducia fino a un root affidabile. Senza di essi, i visitatori potrebbero vedere un avviso “non sicuro” o di certificato non attendibile.
- Individua il file con estensione .ca-bundle.
- Apri Keychain Access (cercalo con Spotlight, oppure trovalo in Applicazioni > Utility).
- Trascina il file .ca-bundle nella finestra di Keychain Access. Aggiungilo al portachiavi System in modo che si applichi a tutti gli utenti e servizi.
- Per confermare l’importazione, digita il nome della tua CA nella barra di ricerca. Dovresti vedere elencati i certificati intermedi e il certificato root.
Puoi fare la stessa cosa dal Terminal, il che è utile su un server headless o remoto. Questo comando importa il bundle nel portachiavi di sistema:
sudo security import yourdomain.ca-bundle -k /Library/Keychains/System.keychain
Passaggio 3: Aggiungi il tuo certificato primario (Server.app tradizionale)
Questo passaggio utilizza Server.app, ormai discontinuato. Se il tuo Mac non lo ha più, consulta invece la sezione successiva.
- Apri l’app Server e vai su Server > Certificati.
- Nella pagina principale, fai doppio clic sul certificato in sospeso (quello creato quando hai generato il CSR).
- Nella finestra che si apre, trascina il tuo file .crt, quindi fai clic su OK.
- Un certificato valido mostra ora il nome dell’emittente e la data di scadenza.
Passaggio 4: Assegna il certificato ai tuoi servizi (Server.app tradizionale)
Nell’app Server, trova l’impostazione Secure services using. Usa il menu a discesa per selezionare il tuo certificato SSL. Per assegnarlo a servizi specifici come la condivisione file o la posta, fai clic su Personalizzato e scegli i servizi che desideri proteggere. Al termine, fai clic su OK.
Il tuo certificato SSL è ora installato. Per confermare il risultato e verificare eventuali problemi comuni, usa il nostro SSL Checker.
macOS attuale: senza Server.app (usa Keychain con Apache o nginx)
Poiché Apple ha ritirato Server.app, le versioni attuali di macOS non hanno più la schermata Server > Certificati né l’assegnazione dei certificati per servizio. L’importazione del certificato in Keychain Access (Passaggio 2) si applica comunque per la fiducia del sistema, ma per servire HTTPS è necessario configurare direttamente un server web. macOS include Apache (httpd) già integrato, e nginx è disponibile tramite Homebrew. Posiziona il certificato e la chiave dove il server può leggerli, ad esempio sotto /etc/ssl/, e mantieni la chiave privata leggibile solo dall’utente root.
Opzione A: Apache integrato (httpd)
Modifica /etc/apache2/httpd.conf e rimuovi il # iniziale da queste righe in modo che i moduli SSL e la configurazione SSL vengano caricati:
LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so
LoadModule ssl_module libexec/apache2/mod_ssl.so
Include /private/etc/apache2/extra/httpd-ssl.conf
Innanzitutto, crea un file full-chain (il tuo certificato seguito dal bundle CA), che SSLCertificateFile richiede su Apache 2.4.8 e versioni successive:
cat yourdomain.crt yourdomain.ca-bundle > yourdomain_fullchain.crt
Poi modifica /etc/apache2/extra/httpd-ssl.conf e assicurati che sia in ascolto sulla porta 443. Questo file include già di default un blocco <VirtualHost _default_:443> con un certificato autofirmato, quindi modifica quel blocco oppure aggiungi il virtual host qui sotto e commenta quello predefinito, per evitare due host sulla porta 443:
<VirtualHost *:443>
ServerName www.yourdomain.com
DocumentRoot "/Library/WebServer/Documents"
SSLEngine on
SSLCertificateFile /etc/ssl/yourdomain_fullchain.crt
SSLCertificateKeyFile /etc/ssl/private/yourdomain.key
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLHonorCipherOrder off
</VirtualHost>
I percorsi sopra indicati presuppongono che la chiave privata si trovi in /etc/ssl/private/, che potrebbe non esistere di default su macOS. Creala prima e mantieni la chiave leggibile solo dall’utente root:
sudo mkdir -p /etc/ssl/private
sudo chmod 600 /etc/ssl/private/yourdomain.key
Testa la configurazione prima di riavviare, quindi riavvia Apache:
sudo apachectl configtest
sudo apachectl restart
Dovresti vedere Syntax OK dal test. Se ricevi un errore, correggilo prima di riavviare, in modo che il server non fallisca l’avvio.
Opzione B: nginx
Se utilizzi nginx, fai riferimento al file full-chain e alla chiave nel tuo blocco server, quindi ricarica:
server {
listen 443 ssl;
server_name www.yourdomain.com;
ssl_certificate /etc/ssl/yourdomain_fullchain.crt;
ssl_certificate_key /etc/ssl/private/yourdomain.key;
ssl_protocols TLSv1.2 TLSv1.3;
}
sudo nginx -t
sudo nginx -s reload
Per la gestione della configurazione su un parco di Mac (il ruolo che svolgeva il vecchio Profile Manager), usa invece una soluzione MDM attuale. Per verificare il certificato installato da qualsiasi macchina, usa il nostro SSL Checker.
Domande frequenti
No. Apple ha rimosso la maggior parte dei servizi di hosting da macOS Server nel 2018 e ha interrotto l’app stessa nell’aprile 2022. L’ultima versione, la 5.12.2, funziona solo fino a macOS Monterey e non è supportata sulle versioni più recenti di macOS. Sulle versioni attuali di macOS si importano i certificati in Keychain Access e si configura direttamente Apache o nginx invece di usare l’app Server.
Importa il bundle CA e il tuo certificato in Keychain Access in modo che il sistema si fidi della catena, quindi indirizza il tuo server web verso il certificato e la chiave privata. macOS include Apache (configurato in /etc/apache2/), e puoi installare nginx tramite Homebrew. Imposta SSLCertificateFile e SSLCertificateKeyFile in Apache, oppure ssl_certificate e ssl_certificate_key in nginx, quindi testa la configurazione e riavvia il server.
I certificati attendibili risiedono nei portachiavi gestiti da Keychain Access. I certificati validi per l’intero sistema vanno nel portachiavi System, memorizzato in /Library/Keychains/System.keychain. I file del certificato e della chiave privata letti dal tuo server web possono essere posizionati altrove, ad esempio sotto /etc/ssl/, purché la configurazione del server vi faccia riferimento e la chiave resti leggibile solo dall’utente root.
Sì. Il bundle CA contiene i certificati intermedi e root che permettono a browser e client di costruire una catena di fiducia completa. Se lo salti, alcuni visitatori vedranno un avviso di catena di certificati non attendibile o incompleta. Importa il file .ca-bundle in Keychain Access, oppure concatenalo dopo il tuo certificato in un unico file full-chain per Apache o nginx.
Apri il tuo sito in un browser e controlla il lucchetto, oppure interroga il server dal Terminal con OpenSSL per leggere il certificato che sta servendo:echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Questo comando stampa l’emittente e le date di validità. Puoi anche eseguire un controllo esterno completo con il nostro SSL Checker.
Risparmia il 10% sui certificati SSL ordinando oggi stesso da SSL Dragon!
Emissione rapida, crittografia avanzata, affidabilità del browser al 99,99%, assistenza dedicata e garanzia di rimborso entro 25 giorni. Codice coupon: SAVE10


