Per generare un CSR (CERTIFICATE SIGNING REQUEST) , è necessario creare una coppia di chiavi per il server, ovvero due chiavi digitali di certificato (una chiave “pubblica” e l’altra “privata”) che non possono essere separate.
Se si smarrisce il file di una delle due chiavi (pubblica oppure privata) o la relativa password e se ne generano di nuove, non corrisponderanno più al certificato SSL che dovrà quindi esser sostituito.
Passo 1: Generazione di una coppia di chiavi
Per generare la chiave e il CSR si usa la utility OpenSSL.
Questa utility viene fornita con il pacchetto OpenSSL e di solito è installata in /usr/local/ssl /bin.
Se è stato installato in altra directory, è necessario modificare in modo appropriato le successive istruzioni.
Digitare il seguente comando al prompt per una chiave crittografata:
- attualmente tutti i certificati richiedono una chiave a 2048 bit
- se utilizzate Apache su un server Windows oppure se generate una chiave per utilizzarla su AWS, Plesk o cPanel non utilizzate l'opzione -des3 perché non è supportata.
- Per bypassare il requisito di passphrase, omettere l’opzione -des3 durante la generazione della chiave privata. In questo caso, è consigliabile che l'accesso al server sia ristretto solo agli amministratori di sistema autorizzati.
openssl req -new -key <private key file name>.key -config "c:\Apache Software Foundation\Apache2.2\conf\openssl.cnf" -out <csr file name>.csr
Questo comando richiederà per il certificato i seguenti attributi X.509:
- Country Name
Utilizzare il codice di due lettere senza punteggiatura per la nazione, per esempio: IT o DE - State or Province
Scrivere lo stato o la provincia per esteso, senza abbreviazioni - Locality or City
Scrivere il nome della località per esteso, senza abbreviazioni - Company
Se la vostra azienda o il reparto ha nel proprio nome un &, @, o un qualsiasi altro carattere speciale, è necessario sostituire o omettere il simbolo.
Esempio: XY & Z Corporation va indicata come XYZ Corporation oppure XY e Z Corporation. - Organizational Unit
Campo facoltativo, che può essere utilizzato per identificare i certificati registrati a un’organizzazione. Il campo Unità organizzativa (OU) è il nome del reparto o unità organizzativa che effettua la richiesta. - Common Name
E’ l’host + nome di dominio. Dovrebbe essere qualcosa del tipo “www.company.com” o “company.com“.
Nel caso di certificati wildcard, la sintassi è del tipo *.company.com
E’ necessario che il server impieghi il medesimo common name specificato durante la registrazione del certificato. Ad esempio, un certificato per il dominio “domain.com“, segnalerà un errore se si tenta l’accesso a un sito denominato “secure.domain.com“, perché “secure.domain.com” è diverso da “domain.com“.
Durante la generazione del CSR si consiglia di non inserire i seguenti “attributi extra”:
- il proprio indirizzo e-mail
- challenge password
- nome di società
A questo punto è stata creata la coppia di chiavi privata/pubblica.
La chiave privata viene memorizzata in locale sulla macchina server e viene utilizzata per la decrittazione.
La chiave pubblica, nella forma di un Certificate Signing Request (certrequest.csr), servirà per l’attivazione del certificato.
Per effettuare il copia/incolla del CSR nel modulo di attivazione, aprire il file con un semplice editor di testo come Notepad, oppure salvarlo come file txt. Non utilizzare Microsoft Word, che potrebbe inserire caratteri nascosti che altererebbero il contenuto del CSR.
Una volta che il CSR è stato creato, procedere all’attivazione del certificato SSL, utilizzando il CSR appena generato.
Passo 3: Eseguire il backup della chiave privata
Si consiglia di eseguire il backup del file .key e la memorizzazione della corrispondente password.
Una buona scelta è quella di creare una copia di questo file su un dischetto o altro supporto rimovibile.
Effettuare il backup della chiave privata non è strettamente indispensabile, ma potrebbe essere utile nel caso di guasto del server.