bg-tutorials

Come generare una CSR sui server macOS

Questo tutorial mostra come generare una CSR (Certificate Signing Request) su macOS. Copre i due metodi che funzionano su ogni versione attuale di macOS: la procedura guidata Certificate Assistant di Keychain Access (uno strumento grafico integrato, senza bisogno di software aggiuntivo), e la riga di comando openssl nel Terminale. Include inoltre il vecchio flusso di lavoro di macOS Server (Server.app) per le poche installazioni che lo eseguono ancora su Monterey.

Importante: Apple ha interrotto l’app macOS Server il 21 aprile 2022. L’ultima versione, 5.12.2, funziona solo fino a macOS Monterey e non è disponibile per Ventura, Sonoma, Sequoia o versioni successive. La maggior parte dei servizi di hosting (web, mail, calendario, contatti, wiki, VPN, DHCP, DNS e altri) erano già stati rimossi da Server.app nella versione 5.7.1, risalente al 2018, quindi anche su Monterey la procedura guidata “Get a trusted certificate” è l’unico flusso di lavoro relativo ai certificati ancora presente. Se utilizzi Ventura o versioni più recenti, usa il metodo Keychain Access o OpenSSL descritto di seguito.

Metodo 1: Generare la CSR con Keychain Access (macOS attuale)

Se hai già generato la tua CSR con un altro strumento, passa direttamente a installare il certificato su macOS.

Keychain Access è incluso in ogni versione di macOS e comprende un Certificate Assistant che produce un file CSR standard PKCS #10 (estensione .certSigningRequest). La chiave privata viene creata contemporaneamente all’interno del tuo portachiavi login, quindi non lascia mai il Mac. Questo è il metodo più semplice quando non vuoi usare la riga di comando.

Passo 1: Apri Keychain Access

Apri Keychain Access da Applicazioni > Utility, oppure premi Cmd + Space e digita Keychain Access in Spotlight.

Su macOS Sequoia, Sonoma e Ventura, Keychain Access è ancora presente anche se la nuova app Passwords di Apple gestisce le password dei siti web. Certificate Assistant si trova solo in Keychain Access, quindi è questa l’app da aprire.

Passo 2: Apri Certificate Assistant

Nella barra dei menu, vai su Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority.

Passo 3: Compila i tuoi dati

La finestra di Certificate Assistant richiede alcuni campi. Usa solo caratteri ASCII standard; le lettere non latine nel subject verranno rifiutate dalle CA pubbliche.

  • User Email Address: un indirizzo email di contatto valido. Le CA pubbliche lo utilizzano per le notifiche di emissione.
  • Common Name: il nome di dominio completamente qualificato che desideri proteggere, ad esempio www.example.com. Per un certificato wildcard, usa la forma con asterisco, ad esempio *.example.com.
  • CA Email Address: lascia vuoto. Invierai la CSR tramite il modulo d’ordine della tua CA, non via email.
  • Request is: seleziona Saved to disk. Seleziona Let me specify key pair information per poter scegliere il tipo e la dimensione della chiave nella schermata successiva.

Fai clic su Continue. macOS chiederà una posizione di salvataggio; scegli una cartella che puoi ritrovare facilmente in seguito (ad esempio la Scrivania). Il nome file predefinito è CertificateSigningRequest.certSigningRequest; puoi rinominarlo prima di salvare.

Passo 4: Scegli la coppia di chiavi

Nella schermata Key Pair Information, scegli il tipo e la dimensione della chiave che vuoi che la CA associ al certificato:

  • Key Size: 2048 bit (il minimo attuale per i certificati pubblici) o 4096 bit per una chiave RSA più grande. Le vecchie chiavi a 1024 bit vengono rifiutate da ogni CA pubblica, quindi non selezionarle.
  • Algorithm: RSA per la massima compatibilità, oppure ECC per una moderna chiave a curva elittica (più piccola e veloce, con ampio supporto lato client).

Fai clic su Continue. Certificate Assistant genera la coppia di chiavi, memorizza la chiave privata nel tuo portachiavi login, scrive la CSR nel file scelto e mostra una schermata di conferma. Fai clic su Done.

La CSR è ora pronta per essere inviata alla tua CA. Puoi aprire il file .certSigningRequest in TextEdit per visualizzarla; inizia con -----BEGIN CERTIFICATE REQUEST----- e termina con -----END CERTIFICATE REQUEST-----. Copia l’intero blocco (incluse quelle righe di intestazione e di chiusura) e incollalo nel modulo d’ordine durante l’acquisto.

Prima di inviarla, puoi decodificare la richiesta per confermare che i campi siano corretti con il nostro CSR Decoder.

Metodo 2: Generare la CSR con OpenSSL nel Terminale

Se preferisci la riga di comando, oppure hai bisogno di un elenco Subject Alternative Name (SAN) con più nomi host in un’unica richiesta, genera la CSR con lo strumento openssl nel Terminale. Ogni macOS moderno include il comando LibreSSL in /usr/bin/openssl, che supporta la stessa sintassi openssl req usata su Linux. Se preferisci OpenSSL stesso, installalo con brew install openssl@3; il binario si trova quindi in /opt/homebrew/opt/openssl@3/bin/openssl (Apple silicon) o /usr/local/opt/openssl@3/bin/openssl (Intel).

Passo 1: Apri il Terminale

Apri Terminale da Applicazioni > Utility, oppure premi Cmd + Space e digita Terminale. Spostati in una cartella che puoi ritrovare facilmente, ad esempio una directory di lavoro sulla Scrivania:

mkdir -p ~/Desktop/csr
cd ~/Desktop/csr

Passo 2: Genera la chiave privata e la CSR

Esegui il seguente comando. Crea una nuova chiave RSA a 2048 bit (yourdomain.key) e la CSR corrispondente (yourdomain.csr) in un solo passaggio, con il subject e i Subject Alternative Name forniti direttamente in linea, così OpenSSL non si ferma a fare domande:

openssl req -new -newkey rsa:2048 -nodes 
-keyout yourdomain.key 
-out yourdomain.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com" 
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Cosa fa ciascuna parte:

  • -newkey rsa:2048 genera una nuova chiave RSA a 2048 bit. Usa rsa:4096 per una chiave più grande, oppure passa a ECDSA (vedi sotto).
  • -nodes lascia la chiave privata non cifrata, così il tuo server web può leggerla all’avvio senza richiedere una passphrase.
  • -keyout e -out assegnano il nome ai file della chiave privata e della CSR.
  • -subj fornisce il subject del certificato. Inserisci qui il nome reale della tua azienda, lo stato e la città, non i segnaposto. CN (Common Name) è il tuo dominio principale.
  • -addext “subjectAltName=…” elenca ogni nome host che il certificato deve coprire. Le CA pubbliche validano in base all’elenco SAN, quindi includi sempre anche il Common Name lì.

Sostituisci yourdomain.com con il tuo dominio effettivo in tutto il comando. Per coprire nomi host aggiuntivi, aggiungili all’elenco SAN separati da virgole, ad esempio DNS:api.yourdomain.com. Per un certificato wildcard, includi sia il wildcard che il dominio semplice: DNS:*.yourdomain.com,DNS:yourdomain.com. Usa il codice paese ufficiale a due lettere per il campo C (ad esempio US, GB, DE).

Se preferisci una chiave ECDSA (più piccola e veloce, con P-256 ampiamente supportato), genera la chiave e la CSR in questo modo:

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes 
-keyout yourdomain.key 
-out yourdomain.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com" 
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

Se preferisci rispondere alle richieste un campo alla volta, esegui la forma più semplice senza -subj e -addext:

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr

OpenSSL chiederà quindi ogni campo in sequenza:

  • Country Name (2 letter code): il codice ISO 3166-1 alpha-2 del tuo paese, ad esempio US.
  • State or Province Name: il nome completo del tuo stato o provincia, non un’abbreviazione.
  • Locality Name: la città in cui è registrata la tua organizzazione.
  • Organization Name: il nome legale completo della tua azienda per i certificati OV ed EV. Per i certificati DV il valore non viene validato, ma non premere semplicemente Invio: OpenSSL inserirebbe il valore predefinito definito nella sua configurazione, e il file openssl.cnf standard include Internet Widgits Pty Ltd, che finirebbe nella tua CSR. Digita un singolo punto (.) per lasciare il campo effettivamente vuoto.
  • Organizational Unit Name: deprecato dal CA/Browser Forum. Premi Invio per lasciarlo vuoto.
  • Common Name: il nome di dominio completamente qualificato che desideri proteggere, ad esempio www.yourdomain.com, oppure *.yourdomain.com per un wildcard.
  • Email Address: un’email di contatto valida, oppure premi Invio per saltare.
  • Quando richiesto a challenge password e an optional company name, premi Invio per lasciare entrambi vuoti. Le CA pubbliche ignorano questi campi.

Nota che nessuna delle richieste chiede un SAN. Puoi comunque ottenerlo mantenendo -addext nella riga di comando e omettendo solo -subj: OpenSSL chiede il subject in modo interattivo e scrive comunque l’estensione SAN. In alternativa usa la forma completamente in linea mostrata sopra, oppure costruisci la CSR con un file di configurazione OpenSSL.

Passo 3: Verifica e invia la CSR

Prima di inviare la CSR alla CA, decodificala localmente per confermare che il subject e l’elenco SAN corrispondano a quanto previsto:

openssl req -noout -text -verify -in yourdomain.csr

Verifica che le righe Subject e X509v3 Subject Alternative Name siano corrette e che il controllo della firma restituisca verify OK. Puoi anche decodificare la CSR online con il nostro CSR Decoder.

Apri il file .csr in TextEdit (oppure visualizzalo con cat yourdomain.csr) e copia l’intero blocco, incluse le righe -----BEGIN CERTIFICATE REQUEST----- e -----END CERTIFICATE REQUEST-----. Incollalo nel modulo d’ordine durante l’acquisto. Conserva in modo sicuro il file yourdomain.key corrispondente sulla stessa macchina; non deve mai essere inviato alla CA né condiviso.

Metodo 3: macOS Server legacy (Server.app su Monterey)

Se utilizzi ancora macOS Server 5.12.2 su Monterey, la procedura guidata integrata Get a trusted certificate genera una CSR e memorizza la chiave privata corrispondente nel System Keychain. Server 5.12.x richiede macOS Monterey (versioni precedenti come la 5.11 supportavano Big Sur). Su Ventura e versioni più recenti questa app non è disponibile; usa invece il metodo Keychain Access o OpenSSL descritto sopra.

Passo 1: Avvia macOS Server

Apri Finder > Applicazioni > Server.

Passo 2: Seleziona il server di destinazione

  • This Mac (YourServerName): genera la CSR sulla macchina locale. Inserisci il tuo nome utente e password amministratore, poi fai clic su Allow.
  • Other Mac (YourServerName): genera la CSR su un Mac remoto. Inserisci il suo nome host o indirizzo IP e le credenziali amministratore, poi fai clic su Allow.

Passo 3: Avvia la CSR

  • Nel pannello a sinistra sotto Server, seleziona Certificates.
  • Individua il certificato autofirmato esistente. Funziona per i test e le reti private ma non è considerato attendibile dai browser pubblici.
  • Fai clic sul pulsante + in fondo alla pagina e scegli Get a trusted certificate, poi fai clic su Next.

Passo 4: Compila i dettagli della CSR

  • Host name (CN): il nome di dominio completamente qualificato da proteggere, ad esempio www.yoursite.com, oppure *.yoursite.com per un wildcard.
  • Contact Email Address: un’email valida.
  • Organization (O): il nome legale completo della tua azienda per i certificati OV ed EV. Per i certificati DV lascialo vuoto.
  • Organizational Unit (OU): deprecato dal CA/Browser Forum. Lascialo vuoto.
  • Town / City (L): la città in cui è registrata la tua organizzazione.
  • State / Province (ST): il nome completo del tuo stato o provincia.
  • Country (C): seleziona il tuo paese dall’elenco.

Rivedi le tue voci, fai clic su Next, poi Save per salvare il file CSR su disco. La chiave privata rimane nel System Keychain e sarà richiesta durante l’installazione del certificato.

Invia la CSR e cosa succede dopo

Invia il contenuto del file .csr (oppure, se proviene da Server.app, il file salvato) durante l’ordine del tuo certificato SSL. Dopo che la CA ha validato la tua richiesta ed emesso il certificato, segui la nostra guida su come installare un certificato SSL su macOS per importare il certificato e configurare il tuo server web. I certificati DV vengono in genere emessi in pochi minuti; i certificati OV ed EV possono richiedere da uno a cinque giorni lavorativi.

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

Un'immagine dettagliata di un drago in volo
Scritto da

Scrittore di contenuti con esperienza, specializzato in certificati SSL. Trasforma intricati argomenti di cybersicurezza in contenuti chiari e coinvolgenti. Contribuisci a migliorare la sicurezza digitale attraverso narrazioni d'impatto.