====== OpenSSL ====== ===== Verifica se SSL (e/o TLS) funziona: ===== * https: openssl s_client -CApath /etc/ssl/certs -connect www.qualcosa.it:443 * smtp + TLS (porta 25) openssl s_client -CApath /etc/ssl/certs -connect mail.qualcosa.it:25 -starttls smtp * imap + TLS (porta 143) openssl s_client -CApath /etc/ssl/certs -connect mail.qualcosa.it:143 -starttls imap * pop3 + TLS (porta 110) openssl s_client -CApath /etc/ssl/certs -connect mail.qualcosa.it:110 -starttls pop3 * smtps (porta 465) openssl s_client -CApath /etc/ssl/certs -connect mail.qualcosa.it:smtps * imaps (porta 993) openssl s_client -CApath /etc/ssl/certs -connect mail.qualcosa.it:imaps * pop3s (porta 995) openssl s_client -CApath /etc/ssl/certs -connect mail.qualcosa.it:pop3s ===== Cambiare la password a una chiave privata ===== Qeusto comando legge una chiave (crittata o in chiaro, lo capisce da solo guardando dentro al file della chiave) e la critta con la password che scelgo, usando 3des oppure aes256 openssl rsa -des3 -in keyfile.key -out keyfile-with-new-password.key openssl rsa -aes256 -in keyfile.key -out keyfile-with-new-password.key Questo comando decritta una chiave e la salva in chiaro: openssl rsa -in infile.key -out outfile.key ===== Leggere i dati di un certificato ===== openssl x509 -text -noout -in file_certificato.crt ===== Leggere i dati di una CRL ===== openssl crl -inform PEM -text -noout -in pki/crl.pem ===== Estrarre i certificati e chiavi da un file PFX ===== C'è un cliente che mi manda i certificati in un PFX. Questo è il metodo per estrarli, con tanto di opzione per accettare algoritmi obsoleti. * estrarre la key: (verrà chiesta la password per aprire il file PFX e poi una password a mia scelta per crittare la key che vado a salvare. La password richiede una lunghezza minima, non usare "a" perché non funziona) openssl pkcs12 -legacy -in nome-file.pfx -nocerts -out nome-file.key * decrittare la key: (se devo usarla per dire in un sito web, la key non può avere una password e quindi devo immediatamente togliere la password che avevo inserito un secondo fa) openssl rsa -in nome-file.key -out nome-file-decrittata.key * estrarre i certificati: (questo comando estrae tutta la catena dei certificati in un unico file; se vogliamo separare il certificato client dai certificati della chain of trust, possiamo usare "-clcert" e "-cacert" e salvare su due files diversi) openssl pkcs12 -legacy -in nome-file.pfx -nokeys -out nome-file.cert