OpenSSL X509 howto – creare certificati a raffica -

by Luca Sartoni on 3 luglio 2007

padlock
Picture by Cracam on DeviantArt

Molto spesso è utile creare certificati X509 per svariati servizi che si appoggiano su SSL: openvpn, Postfix+TLS, Courier SSL, openSSH, Apache+SSL.
OpenSSL ci viene incontro in questa necessità e ci risolve tutti i problemi.
I comandi di seguito riportati

Ecco alcuni semplici comandi molto utili:

Creare una Certification Authority

mkdir -p /var/CA
cd /var/CA
/usr/lib/ssl/misc/CA.sh -newca

è molto importante compilare correttamente i campi richiesti durante la creazione della CA. Successivamente la CA verrà utilizata per firmare i certificati che saranno creati. Di fondamentale importanza scegliere adeguatamente la password della CA.

Creare un nuovo certificato e firmarlo con la CA

/usr/lib/ssl/misc/CA.sh -newreq
/usr/lib/ssl/misc/CA.sh -sign

rispondendo alle domande che vengono poste, si crea un certificato X509 e lo si firma con la CA.

Creare un Package pkcs12

I file p12 (pkcs12) contengono un certificato X509, la chiave privata associata e il certificato della CA che lo ha firmato. Sono molto utili in quanto possono essere caricati su dispositivi di autenticazione come SmartCard o token USB. Inoltre possono essere importati nel repository di microsoft windows o nel security device di Mozilla Firefox.
Per creare un file p12:

openssl pkcs12 -in newcert.pem -inkey newkey.pem -certfile demoCA/cacert.pem -export -out certx509.p12

A questo punto è possibile trasferire il file certx509.p12 al client windows o al browser ed importarlo correttamente.

Decrittare la chiave privata

Se il certificato X509 che abbiamo creato, dev’essere associato ad un servizio su GNU/Linux, per esempio un webserver, potrebbe essere scomodo avere la chiave privata codificata. Questo richiede l’immissione della password ogni volta che il servizio dev’essere riavviato. Per risolvere il problema è sufficiente decodificare la chiave e salvarla in chiaro. Ovviamente si dovranno prendere tutte le accortezze necessarie alla gestione di un contenuto così importante in modalità insicura.

openssl RSA -in newkey.pem -out clearkey.pem

{ 1 trackback }

University Update - Microsoft Windows - OpenSSL X509 howto - creare certificati a raffica -
3 luglio 2007 alle 5:59 pm

{ 2 comments… read them below or add one }

1 Fla 27 agosto 2007 alle 3:56 pm

Ciao sto testando la configurazione di apache2 per certificazione x.509 ma non ho certificati server, come posso simularli ???? se puoi risp per email
grazie

2 pipe 21 luglio 2008 alle 5:14 pm

Salve… ho impostato un metodo di autenticazione EAP-TLS con Radius server per client wifi. Su linux è tutto ok con wpa_supplicant ma con win xp non riesco ad autenticarmi, pur avendo convertito il cert in pkcs12 come specificato in questa guida! :-( (

Leave a Comment