Generazione del CSR per Apache

Prima di tutto occorre stabilire il "Fully Qualified Domain Name" (FQDN) del sito per cui si richiede il certificato. Ad esempio, se si vuole accedere al sito come https://www.virtualhost.com/, il FQDN è www.virtualhost.com.


www.virtualhost.com sarà il "common name" da inserire nel CSR.


Genera la chiave privata col seguente comando:


$ openssl genrsa -des3 -out www.virtualhost.com.key 2048


Questo comando genera una chiave privata RSA di 2048 bit e la salva nel file "www.virtualhost.com.key". Verrà richiesta una passphrase (password): scegli una parola sicura e ricordatela. Il certificato sarà inutilizzabile senza la chiave privata.

Attenzione: se non si adottano particolari accorgimenti, Apache richiederà la passphrase a ogni avvio e riavvio, e questo potrebbe costituire un problema nel caso di riavvii automatici. Se il server è considerato sicuro e i permessi sono impostati correttamente in modo che la chiave privata non sia leggibile da nessun altro, è possibile non proteggerla con una password semplicemente omettendo l'opzione -des3.

Effettua un backup del file con la chiave privata e fai in modo di non dimenticare la passphrase.

Genera il CSR con il seguente comando:


$ openssl req -new -key www.virtualhost.com.key -out www.virtualhost.com.csr


Questo comando richiede gli attributi X.509 del tuo certificato. Inserisci la sigla del tuo Paese (es.: IT), e il nome della provincia e della città. Inserisci il nome dell'organizzazione esattamente come appare nei documenti ufficiali. L'unità organizzativa (OU) è opzionale. Per non inserirla basta premere enter sulla tastiera.

Ricordati di rispondere col nome host completo (es.: www.virtualhost.com) quando viene richiesto il `Common Name (eg, YOUR name)'. Non inserire il tuo nome personale. Stiamo richiedendo un certificato per un sito web, per cui il "Common Name"corrisponde al FQDN del sito (è un requisito dei browser).

Per favore, non inserire l'indirizzo email, la challenge password o l'optional company name quando generi il CSR.

A questo punto abbiamo una chiave privata RSA in "www.virtualhost.com.key", da conservare per installarla successivamente insieme al certificato, e il CSR in "www.virtualhost.com.csr".

Il CSR ha un aspetto simile al seguente:


-----BEGIN CERTIFICATE REQUEST-----
MIIBPTCB6AIBADCBhDELMAkGA1UEBhMCWkExFTATBgNVBAgTDFdlc3Rlcm4gQ2Fw
ZTESMBAGA1UEBxMJQ2FwZSBUb3duMRQwEgYDVQQKEwtPcHBvcnR1bml0aTEYMBYG
A1UECxMPT25saW5lIFNlcnZpY2VzMRowGAYDVQQDExF3d3cuZm9yd2FyZC5jby56
YTBaMA0GCSqGSIb3DQEBAQUAA0kAMEYCQQDT5oxxeBWu5WLHD/G4BJ+PobiC9d7S
6pDvAjuyC+dPAnL0d91tXdm2j190D1kgDoSp5ZyGSgwJh2V7diuuPlHDAgEDoAAw
DQYJKoZIhvcNAQEEBQADQQBf8ZHIu4H8ik2vZQngXh8v+iGnAXD1AvUjuDPCWzFu
pReiq7UR8Z0wiJBeaqiuvTDnTFMz6oCq6htdH7/tvKhh
-----END CERTIFICATE REQUEST-----