Ci sono dei comandi utili in OpenSSL? Praticamente mi ritrovo a usare OpenSSL tutti i giorni. Ovviamente non ricordo tutti comandi a memoria. Ho appunti scritti qua e là tra 100 documenti txt. Così ho deciso di scrivere questa veloce guida per raggruppare i comandi che mi trovo più spesso ad utilizzare.
Di seguito alcuni utili comandi per chi ha spesso a che fare con openssl, certificati digitali, key e csr
Indice dei contenuti
- Generare una chiave con openssl
- Generare un CSR
- Creare un file PFX
- Print the md5 hash of the SSL Certificate modulus
- Print the md5 hash of the CSR modulus
- Print the md5 hash of the Private Key modulus
- Testare le cipher suites accettate dal server
Let’s go!
Generare una chiave con openssl
Attenzione. Non condividete mai con nessuno la vostra key. Se qualcuno dovesse mai entrare in possesso della vostra key potrebbe eseguire l’SSL offloading del traffico e decryptarlo.
$ openssl genrsa -out MYKEY.key 2048
ShellScriptGenerare un CSR
$ openssl req -new -key MYKEY.key -out MYCSR.csr
ShellScriptil CSR è il file che contiene i dati per richiedere il certificato e che andrà inviato alla certification authority.
Creare un file PFX
Vediamo ora come creare un file PFX. Per fare questo abbiamo bisogno della nostra KEY, del nostro certificato, e del certificato della nostra certification authority
$ openssl pkcs12 -export -inkey MYKEY.key -in MYCER.cer -certfile CA.pem -out MYPFX.pfx
ShellScriptPrint the md5 hash of the SSL Certificate modulus
Questo comando serve ad avere l’output openssl MD5 del vostro certificato.
$ openssl x509 -noout -modulus -in MYCERTIFICATE.crt | openssl md5
ShellScriptPrint the md5 hash of the CSR modulus
Questo comando serve ad avere l’output openssl MD5 del vostro CSR. Il CSR è il Certificate Request, ovvero il file che dovrete inviare alla certification authority per poter avere in cambio il vostro certificato..
$ openssl req -noout -modulus -in MYCSR.csr | openssl md5
ShellScriptPrint the md5 hash of the Private Key modulus
Questo comando serve ad avere l’output openssl MD5 della vostra chiave privata.
$ openssl rsa -noout -modulus -in MYKEY.key | openssl md5
ShellScriptTestare le cipher suite accettate dal server
Spesso può risultare utile testare le cipher suite configurate sul nostro webserver. Questo perchè i protocolli si aggiornano e le cipher suites diventano obsolete perchè non più supportate dalle nuove versioni dei browsers.
nmap --script ssl-enum-ciphers -p 443 WWWURLDATESTARE
ShellScriptLa URL inserita a fine comando NON deve includere il protocollo (http / https). Volendo testare www.google.com, per esempio scriveremo soltanto www.google.com e NON https://www.google.com:
nmap --script ssl-enum-ciphers -p 443 www.google.com
ShellScriptComandi utili openssl – Conclusioni
I comandi disponibili sono tantissimi. Qui ne ho riportati solo alcuni, almeno quelli che uso più spesso.
Cercherò di tenere l’articolo aggiornato man mano che me ne capiteranno di nuovo e sopratutto utili
Principal Web Solutions Architect – Technology & Architecture Manager @ Accenture – Google Cloud Certified – Professional Cloud Architect
Parla di #web, #cloud, #websecurity, #webperformance e #webarchitecture