
¿Es posible utilizar un comando openssl para verificar el cifrado de un certificado SSL en un sitio web en vivo?
Por ejemplo para usar algo como:
openssl s_client -connect example.com:443 -crlf
El comando anterior devolverá mucha información junto con el cifrado:
Cipher : TLS_AES_256_GCM_SHA384
Estoy buscando el comando openssl que devolverá solo el valor cifrado.
Respuesta1
Intenta grepping
$ echo -n '' | openssl s_client -connect example.com:443 2>&1 | grep -Po "(?<=Cipher is ).*$"
TLS_AES_256_GCM_SHA384
O también puedes envolverlo en una función como esta...
$ function get-s_clientCipher {
echo -n '' |
openssl s_client -connect $1 2>&1 |
grep --perl-regexp --only-matching -- "(?<=Cipher is ).*$";
}
...y luego usarlo así...
$ get-s_clientCipher example.com:443
TLS_AES_256_GCM_SHA384
Pero no estoy seguro exactamente si eso te será de mucha ayuda. Porque el resultado depende en gran medida de su entorno local. Por tanto, tendrá muy poco significado general. -- Entonces, si desea obtener un diagnóstico más general de los cifrados de un servidor, utilice algo comohttps://testssl.sh/script de shell. (O si se puede acceder al servidor desde Internet, intentehttps://www.ssllabs.com/ssltest/)