Generare Certificati Digitali Con OpenSSL

PastedGraphic1-2011-03-27-08-40.jpg

Vorreste implementare una connessione sicura via HTTPS al vostro server web oppure firmare digitalmente la corrispondenza? Bene allora avete bisogno di un certificato digitale, che può essere benissimo generato da voi stessi senza spendere un soldo ma che farà scattare un allarme di sicurezza quando verrà visitato la prima volta.

Un certificato digitale è un documento elettronico che attesta, con una firma digitale, l’associazione tra una chiave pubblica e l’identità di un soggetto. Tramite questo dunque IO ad esempio non posso mandare un messaggio a qualcuno spacciandomi per un’altra persona al di fuori di me.

Il programma che ci consente di svolgere l’operazione si chiama OpenSSL: un potente strumento che espone varie funzionalità crittografiche all’interno di un pacchetto gratuito anche per scopi commerciali, poiché rilasciato con licenza open source “GNU/GPL”.

Installazione su Windows

Prima di continuare assicuriamoci di avere installato il pacchetto Microsoft Visual C++ Redistributable Package dopodichè procediamo al download dal sito ufficiale di OpenSSL (durante l’installazione alla scelta copy onessl ddls to dovrete inserire per comodità The OpenSSL binaries (/bin) directory). Dopodichè aprite il terminale e digitate

¶ cd C:opensslbin

Installazione su Linux

Molto semplicemente dovrete aprire un terminale e scrivere

¶sudo yum install openssl -y (sui server centos)

¶sudo apt-get install openssl -y (su altre macchine)

Generare un Certificato

Per generare un certificato digitale ci si muove in modo pressoché identico indipendentemente che si stia lavorando sotto Linux o con Windows.

Per prima cosa, andremo a lanciare qualcosa di simile a questo:

¶openssl req -x509 -nodes -days 3650 -newkey rsa:1024 -out “C:miocertificato.cer”

In particolare:

-days 3650: indica che il certificato sarà valido per dieci anni (in altre parole, potrete utilizzarlo per giocare a vostro piacimento senza preoccuparvi che scada). Siete, naturalmente, liberi diimpiegare un numero maggiore o minore;

-out “C:miocertificato.cer”: indica il percorso nel quale salvare il certificato che si andrà a generare. Gli utenti Linux dovranno, naturalmente, utilizzare qualcosa di appropriato come, ad esempio, “/home/gianluigi/Desktop”;

Una volta impartito il comando, sarete chiamati ad indicare alcuni dati anagrafici relativi all’identità dell’utente che state certificando.

Notate che l’unico realmente indispensabile è quello chiamato Common Name: tutti gli altri possono essere saltati premendo semplicemente Invio. In tal caso, verrà usato il valore di default mostratovi tra parentesi quadre ([]).

In particolare:

-Country Name (2 letter code) [AU]: potete specificare il codice di due lettere del Paese. Digitate IT;

-State or Province Name (full name) [Some-State]: il nome esteso del Paese. Nel nostro caso, Italia;

-Locality Name (eg, city) []: il nome della località ;

-Organization Name (eg, company) [Internet Widgits Pty Ltd]: il nome della vostra organizzazione.

-Organizational Unit Name (eg, section) []: l’unità operativa della quale fate parte all’interno dell’azienda;

-Common Name (eg, YOUR name) []: questo campo non può essere lasciato vuoto. Se state generando un certificato digitale da utilizzarsi per creare connessioni HTTPS, indicate qui l’hostname completo per raggiungere il servizio (ad esempio, www.isayr.net). In tutti gli altri casi, potete specificare il vostro nome e cognome;

-Email Address []: l’email da associare al certificato;

Arrivati a questo punto, dovreste ritrovare il vostro certificato digitale pronto all’uso nel percorso indicato nel comando. Sotto Windows, potete farvi doppio click per aprirlo direttamente ed osservare i vari valori.

Condividi Commenti