Conozca el algoritmo de firma de certificado de un sitio remoto mediante OpenSSL

1

He estado tratando de conocer el "algoritmo de firma de certificado" (SHA1 con RSA, etc.) utilizando openssl.

Para comenzar, traté de ver el certificado utilizando el siguiente comando, pero tampoco muestra los detalles del algoritmo de firma.

echo | openssl s_client -showcerts -connect <myhost>:443

¿Hay alguna forma de saberlo con un solo comando?

    
pregunta Novice User 06.10.2014 - 21:26
fuente

1 respuesta

1

Canalice la salida de openssl s_client (que incluye el certificado en formato PEM) a openssl x509 -noout -text y proporciona una visualización legible por los humanos de los campos de certificado, incluida la firma algo (en dos lugares). No necesitas el paso sed -n /BEGIN/,/END/p ; La mayoría de las operaciones de OpenSSL en datos en formato PEM, incluida esta, ignoran datos "adicionales" fuera del bloque PEM. (Sin embargo, esto NO es cierto para muchos otros programas). -showcerts no sirve para nada en este caso, ya que solo se muestra el primer certificado, que es el certificado del servidor.

Para ser exactos, esta es la firma que se utiliza en el certificado del servidor por la CA que emitió el certificado. El servidor no lo realiza ni lo controla directamente.

Si desea ver toda la cadena no solo el certificado del servidor, do necesita -showcerts y debe ejecutar openssl x509 ... por separado en cada certificado ; Una forma simple pero un tanto cruda es

echo | openssl s_client ... | \
awk 'BEGIN{p="openssl x509 -noout -text"} {print |p} /-----END/{close(p)}'
    
respondido por el dave_thompson_085 07.10.2014 - 12:16
fuente

Lea otras preguntas en las etiquetas