Creare un certificato SSL in locale

Posted by RedBlue on April 05, 2020 · 2 mins read

A volte può essere utile avere la possibilità di utilizzare localmente un certificato SSL.

Un tempo reperirne uno era abbastanza complicato e costoso, oggi non è più così, ma soprattutto in fase di sviluppo, è più semplice generarne direttamente uno sulla propria macchina (oltre che più veloce ed economico).

Attenzione, un certificato del genere non è utilizzabile in produzione, i client lo rifiuterebbero in quanto non emesso da una cosiddetta Certification Authority (a meno di installarlo manualmente sui client stessi).

Per la generazione di un certificato SSL, bastano pochi comandi, da dare tutti come root:

openssl genrsa -aes256 -out private.key 4096 
openssl x509 -in request.csr -out cert.crt -req -signkey private.key -days 365 
openssl req -new -days 365 -key private.key -out request.csr

Molto, semplicemente, il primo genera la chiave privata necessaria alla firma del certificato (potrebbe volerci un po', dipende dalla vostra macchina), il secondo genera la richiesta di firma, l'ultimo genera il certificato SSL vero e proprio.

La richiesta di firma andrà corredata di alcune informazioni che verranno richieste all'utente, ad esempio il server ed il suo proprietario, il nome e la posizione dell’azienda proprietaria del server, il nome di dominio FQDN associato al server, l’indirizzo e-mail dell’amministratore, etc.

Si avrà un qualcosa del genere:

Country Name (2 letter code) [AU]: IT
State or Province Name (full name) [Some-State]: Italy
Locality Name (eg, city) []:Italy
Organization Name (eg, company) [Internet Widgits Pty Ltd]: NOMEAZIENDA
Organizational Unit Name (eg, section) []: 
Common Name (e.g. server FQDN or YOUR name) []: nomeazienda.com
Email Address []: admin@nomeazienda.it

Alla prossima..