bg-tutorials

Come generare un CSR per un certificato SSL

Puoi generare una CSR in tre modi: dalla riga di comando con OpenSSL, all’interno del pannello di controllo o della console di amministrazione del tuo server (cPanelIIS, Plesk), oppure con un generatore di CSR online gratuito se non hai accesso al server. Qualunque strada tu scelga, dovrai compilare gli stessi dettagli sul tuo dominio e sulla tua organizzazione, e otterrai due elementi: la CSR che invii insieme all’ordine del certificato, e una chiave privata che deve rimanere al sicuro (alcuni pannelli di controllo memorizzano quella chiave per te).

Se non sei pratico, una CSR (abbreviazione di certificate signing request) è il file che chiede a un’autorità di certificazione di emettere il tuo certificato SSL. Ecco come crearne una su qualsiasi piattaforma.


Come generare una CSR in 6 passaggi

  1. Decidi dove generarla: sul server che ospiterà il certificato (riga di comando o pannello di controllo), oppure con un generatore di CSR gratuito.
  2. Apri lo strumento SSL del tuo server oppure esegui il comando OpenSSL per avviare una nuova CSR e una chiave privata.
  3. Inserisci il tuo dominio come Common Name (l’indirizzo esatto che vuoi proteggere, ad esempio www.example.com).
  4. Aggiungi i dettagli della tua organizzazione: organizzazione, unità, città, stato/provincia, paese ed email.
  5. Genera i file, poi conserva al sicuro la CSR e la chiave privata. Alcuni pannelli di controllo memorizzano la chiave per te.
  6. Copia la CSR e inviala alla tua autorità di certificazione al momento dell’ordine del certificato.

Questi sei passaggi funzionano su ogni piattaforma. Per i clic e i comandi esatti relativi alla tua, scegli tra le opzioni qui sotto. Se non è elencata, i metodi universali più avanti funzionano quasi ovunque.


Guide alla generazione di CSR per piattaforma

Cosa serve prima di iniziare

  • Accesso al server o al pannello di controllo che ospiterà il certificato, oppure usa il nostro generatore di CSR se non ne disponi.
  • I dettagli della tua organizzazione esattamente come sono registrati legalmente. Le autorità di certificazione li verificano per i certificati OV ed EV.
  • Una scelta sul tipo di chiave: RSA a 2048 bit è lo standard minimo. ECC (ad esempio, P-256) è un’opzione moderna più rapida se il tuo server la supporta.
  • Una CSR per ogni certificato. Genera una nuova CSR ogni volta che ordini o rinnovi con una nuova chiave.

Ogni CSR richiede gli stessi campi. Ecco cosa inserire in ciascuno di essi:

CampoCosa inserireEsempio
Common Name (CN)Il dominio esatto da proteggere (FQDN)www.example.com
Organization (O)La denominazione legale della tua aziendaExample LLC
Organizational Unit (OU)Reparto (opzionale)IT
Locality (L)CittàAustin
State (ST)Nome completo dello stato o della regione, non abbreviatoTexas
Country (C)Codice paese ISO a due lettereUS
EmailEmail di contatto (opzionale)[email protected]

Il file finito è una richiesta standard PKCS #10. Contiene la tua chiave pubblica insieme a questi dettagli, ed è firmato con la tua chiave privata, così l’autorità di certificazione può confermare che le due appartengono davvero l’una all’altra.

Suggerimento: per un certificato wildcard, imposta il Common Name su *.example.com. Per diversi domini su un solo certificato, mantieni il tuo dominio principale come Common Name e aggiungi gli altri come Subject Alternative Names (SAN), non come Common Name aggiuntivi.


Metodo 1: generare una CSR con OpenSSL (Apache, Nginx, Linux)

OpenSSL è il metodo universale per generare una CSR su Apache, Nginx e sulla maggior parte dei server Linux. Connettiti al tuo server via SSH ed esegui:

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

Ecco cosa fa ciascuna parte:

  • req -new crea una nuova CSR.
  • -newkey rsa:2048 genera contemporaneamente una nuova chiave privata RSA a 2048 bit.
  • -nodes lascia la chiave privata senza passphrase, così il tuo server può caricarla senza richiedere l’inserimento al riavvio.
  • -keyout example.key salva la chiave privata.
  • -out example.csr salva la CSR.

OpenSSL chiede quindi i campi indicati nella tabella sopra. Inserisci il tuo Common Name, l’organizzazione e i dettagli sulla posizione. Puoi lasciare vuota la challenge password.

Per saltare le richieste interattive e aggiungere i SAN in una sola riga, passa direttamente il subject e le estensioni:

openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr 
  -subj "/C=US/ST=Texas/L=Austin/O=Example LLC/OU=IT/CN=www.example.com" 
  -addext "subjectAltName=DNS:example.com,DNS:www.example.com"

Attenzione: il flag -addext richiede OpenSSL 1.1.1 o versioni successive. Alcuni server CentOS 7 e RHEL 7 più vecchi utilizzano ancora OpenSSL 1.0.2, dove questo flag non esiste. In questi casi, aggiungi i tuoi SAN tramite un file di configurazione. Esegui openssl version se non sei sicuro.

Apri il file example.csr generato e copia tutto da —–BEGIN CERTIFICATE REQUEST—– a —–END CERTIFICATE REQUEST—–. Mantieni example.key privata. Ne avrai bisogno per installare il certificato più avanti, e non può essere recuperata se la perdi.

Preferisci ECC? Genera prima la chiave, poi costruisci la CSR a partire da essa:

openssl ecparam -genkey -name prime256v1 -out example.key
openssl req -new -key example.key -out example.csr

Vuoi i passaggi esatti per la tua distribuzione? Consulta le nostre guide per Apache, Nginx, Ubuntu, Debian e Red Hat Linux.


Metodo 2: generare una CSR in cPanel

Se il tuo hosting utilizza cPanel, non hai bisogno della riga di comando.

  1. Accedi a cPanel e apri SSL/TLS nella sezione Sicurezza.
  2. Fai clic su Certificate Signing Requests (CSR).
  3. In Generate a New Certificate Signing Request (CSR), compila i campi indicati nella tabella sopra. Usa il tuo dominio completo come valore di Domains o Common Name.
  4. Fai clic su Generate.

cPanel mostra la CSR codificata nella schermata successiva. Copiala per il tuo ordine. cPanel memorizza per te la chiave privata corrispondente in Private Keys, quindi non devi salvarla manualmente, ma prendi nota della sua posizione per l’installazione.

Se non riesci a trovare la CSR in seguito, resta elencata nella stessa schermata Certificate Signing Requests, quindi puoi copiarla nuovamente senza rigenerarla.

Usi WHM invece di cPanel? Il flusso è quasi identico, sotto SSL/TLS → Generate an SSL Certificate and Signing Request. Guide passo passo: cPanel e WHM.


Metodo 3: generare una CSR su Windows (IIS)

Su server Windows con IIS:

  1. Apri IIS Manager e seleziona il nome del tuo server nel pannello a sinistra.
  2. Fai doppio clic su Server Certificates.
  3. Nel pannello Actions, fai clic su Create Certificate Request.
  4. Compila i campi del Distinguished Name: Common Name, Organization, Organizational Unit, City, State e Country.
  5. Scegli un provider crittografico e imposta la lunghezza della chiave a 2048 bit o superiore, poi salva la CSR in un file.

Lascia il provider su Microsoft RSA SChannel Cryptographic Provider a meno che non abbia un motivo specifico per cambiarlo. Qualsiasi altra scelta può rendere più difficile associare in seguito il certificato emesso al tuo sito.

IIS conserva la chiave privata in sospeso nell’archivio certificati del server, quindi completa la richiesta tramite Complete Certificate Request dopo l’emissione del certificato. Non ricostruire il server né eliminare la richiesta in sospeso nel frattempo, altrimenti la chiave viene persa e dovrai richiedere una nuova emissione. Su macchine Windows senza IIS, puoi generare una CSR con certreq o con lo snap-in MMC Certificates.

Guide complete: Microsoft IIS e Microsoft Windows.


Metodo 4: generare una CSR con il nostro generatore di CSR gratuito

Non hai accesso al server, o vuoi semplicemente farlo in pochi secondi? Usa il nostro strumento gratuito.

Apri il generatore di CSR, compila il Common Name, l’organizzazione e la posizione, poi genera. Lo strumento crea immediatamente sia la CSR che la chiave privata e ti invia via email la chiave come backup. Copia la CSR per il tuo ordine e conserva la chiave privata in un luogo sicuro.

Due note oneste:

  • Lo strumento genera la chiave privata per te, il che va bene per la maggior parte dei certificati DV e OV. Se la tua politica di sicurezza richiede che la chiave non lasci mai il tuo server, usa OpenSSL o il tuo pannello di controllo.
  • Il generatore non funziona per i certificati di code signing. Da giugno 2023, le chiavi di code signing devono essere create e archiviate su hardware sicuro, quindi generale sul tuo token o HSM.

Genera subito la tua CSR


Dopo aver generato la CSR: verifica e passaggi successivi

Prima di inviare la CSR, vale la pena fare un rapido controllo.

  1. Verificala. Incolla la CSR nel nostro CSR Decoder per confermare che il Common Name e i dettagli dell’organizzazione siano corretti. Un errore di digitazione qui significa una nuova emissione in seguito.
  2. Inviala. Copia l’intera CSR nel tuo ordine del certificato. L’autorità di certificazione la verifica ed emette il tuo certificato SSL X.509.
  3. Installa il certificato. Una volta emesso, segui la nostra guida su come installare un certificato SSL, utilizzando la chiave privata salvata prima.

La maggior parte delle autorità di certificazione invia via email il certificato emesso entro pochi minuti per un certificato DV, di solito come file .crt o .cer insieme a un bundle intermedio. Conservalo insieme alla chiave privata che hai generato.

Mantieni quella chiave privata protetta con backup e riservata per tutta la durata del certificato. Senza di essa, il certificato non può essere installato.


Errori comuni con le CSR e come risolverli

  • Common Name errato. Il certificato protegge esattamente ciò che digiti. example.com e www.example.com sono diversi. Aggiungi entrambi (uno come CN, l’altro come SAN) se ti servono entrambi.
  • SAN mancanti. I browser moderni si basano sui Subject Alternative Names, non solo sul Common Name. Elenca ogni dominio che il certificato dovrebbe coprire.
  • La CSR e la chiave privata non corrispondono. Una CSR funziona solo con la chiave generata insieme ad essa. Se perdi la chiave o generi una nuova CSR, devi richiedere una nuova emissione. Non eliminare mai la chiave prima che il certificato sia installato.
  • Codice paese errato. Il campo Country richiede il codice ISO a due lettere (US, GB, DE), non il nome completo del paese. Digitare “United States” è uno dei motivi più comuni per cui una CSR viene rifiutata.
  • Caratteri abbreviati o speciali nei campi dell’organizzazione. Scrivi per intero il nome dello stato e evita caratteri come @, & o accenti nei campi dell’organizzazione, poiché alcune CA li rifiutano.
  • Usare il generatore di CSR per il code signing. Le CSR per il code signing devono provenire da hardware sicuro. Il nostro generatore di CSR è solo per certificati TLS/SSL.

Domande frequenti

Come genero una CSR per un certificato wildcard?

Generala esattamente come qualsiasi altra CSR, ma imposta il Common Name su *.example.com. Un unico certificato wildcard copre quindi tutti i sottodomini di primo livello, come mail.example.com e shop.example.com. Aggiungi il dominio nudo come SAN se vuoi anche example.com senza sottodominio.

Come genero una CSR da un certificato esistente?

Non puoi estrarre una CSR da un certificato già emesso, ma puoi ricrearne una con gli stessi dettagli. Leggi la riga del subject dal tuo certificato attuale:
openssl x509 -in your.crt -noout -subject
Se il certificato è già attivo sul tuo sito, il nostro SSL Checker mostra gli stessi dettagli. Poi genera una nuova CSR e una nuova chiave privata utilizzando quei valori.

Come genero una CSR multi-dominio (SAN)?

Mantieni il tuo dominio principale come Common Name e aggiungi gli altri come Subject Alternative Names. Con OpenSSL, aggiungi -addext “subjectAltName=DNS:example.com,DNS:www.example.com,DNS:mail.example.com” (OpenSSL 1.1.1 o versioni successive). In un pannello di controllo, inserisci i domini aggiuntivi nel campo SAN, poi ordina un certificato multi-dominio (UCC/SAN).

Per quanto tempo è valida una CSR e con quale frequenza dovrei rigenerarla?

Una CSR non scade, ma è legata a una singola chiave privata ed è pensata per un solo ordine. Genera una nuova CSR ogni volta che ordini o rinnovi un certificato con una nuova chiave. Riutilizzare una vecchia CSR è sicuro solo se mantieni la stessa chiave privata.

Posso generare una CSR da un browser?

I browser hanno rimosso la vecchia generazione di chiavi integrata, quindi non è più possibile creare una CSR direttamente in uno di essi. Usa il nostro generatore di CSR online, che esegue la generazione per te, oppure usa la riga di comando.

Che aspetto ha una CSR?

Una CSR è un breve blocco di testo Base64, solitamente di circa un kilobyte, salvato con estensione .csr. Si apre e si chiude sempre con le stesse righe marcatrici:
-----BEGIN CERTIFICATE REQUEST----- MIICvDCCAaQCAQAwdzELMAkGA1UEBhMCVVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYD VQQHDAZBdXN0aW4xFDASBgNVBAoMC0V4YW1wbGUgTExDMRcwFQYDVQQDDA53d3cu ZXhhbXBsZS5jb20... -----END CERTIFICATE REQUEST-----
Quel testo criptato codifica la tua chiave pubblica e i dettagli che hai inserito. Invia tutto, da BEGIN a END, incluse le righe marcatrici, alla tua autorità di certificazione. A differenza della tua chiave privata, una CSR è sicura da condividere: non contiene alcun materiale segreto.

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.