Nel linguaggio SSL il file CSR, acronimo di Certificate Signing Request, é un file contenente le informazioni che andranno nel certificato SSL (CRT) rilasciato da una Certification Authority (CA) e firmato con la chiave adatta.
Solitamente, per crearlo, si utilizza il seguente comando di OpenSSL per creare questa richiesta:
openssl req -new -out server.csr
Questo sistema é iterattivo e ha due grossi limiti: non richiede tutti i campi disponibili nello standard SSL e nel momento in cui un dato cambia dobbiamo ricrearlo ex-novo dovremo rifarlo inserendo i dati a mano, inserendo un elemento di errore su una cosa molto delicata.
Per sopperire a questi problemi possiamo ricorrere ai file di configurazione CNF. Sono file di testo come questo:
# OpenSSL configuration to generate a new key with signing requst for a x509v3 # multidomain certificate # # openssl req -config myhostname.cnf -new -key myhostname.key -out myhostname.csr # [ req ] default_bits = 4096 default_md = sha512 default_keyfile = myhostname.key prompt = no encrypt_key = no # base request distinguished_name = req_distinguished_name # extensions req_extensions = v3_req # distinguished_name [ req_distinguished_name ] countryName = "IT" # C= stateOrProvinceName = "Milano" # ST= localityName = "Milano" # L= postalCode = "20151" # L/postalcode= streetAddress = "Via Stallman, 42" # L/street= organizationName = "Linux" # O= organizationalUnitName = "Linux" # OU= emailAddress = "ssl@example.com" # CN/emailAddress= commonName = "www.example.com" # CN= 1.commonName = "www1.example.com" 2.commonName = "www2.example.com" 3.commonName = "mail.example.com" # req_extensions [ v3_req ] # The subject alternative name extension allows various literal values to be # included in the configuration file # http://www.openssl.org/docs/apps/x509v3_config.html subjectAltName = DNS:www.example.com,DNS:www2.example.com # multidomain certificate
Notate i campi per indirizzo e cap e i common name per i certificati multidominio, informazioni non richieste dal comando precedente.
Per creare il CSR diamo il seguente comando:
openssl req -config myhostname.cnf -new -out myhostname.csr
Quando dovremo ricreare il csr modificato, mantenendo la stessa chiave, daremo il comando inserito nei commenti:
openssl req -config myhostname.cnf -new -key myhostname.key -out myhostname.csr
A questo punto potremo salvare tutti i nostri file di configurazione pronti ad essere modificati ed adattati alle nostre esigenze.
Lascia un commento