= 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 }}}