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
Leave a Reply