Obtener la huella digital del certificado del servidor HTTPS desde la línea de comandos?


Recientemente Mercurial ha agregado validación de certificado al conectarse a servidores HTTPS. Estoy intentando clonar el repositorio wiki para un proyecto de googlecode en https://wiki.pydlnadms.googlecode.com/hg/, pero el certificado es para *.googlecode.com. Tenía la impresión de que esto se llama dominio comodín y es válido para todos los subdominios, pero estoy recibiendo el error:

matt@stanley:~/src$ hg clone https://wiki.pydlnadms.googlecode.com/hg/ pydlnadms-wiki
abort: wiki.pydlnadms.googlecode.com certificate error: certificate is for *.googlecode.com

Supuestamente necesito agregar la huella digital del certificado a mi hgrc. ¿Cómo puedo recuperar esta huella digital del comando línea?

Pregunta principal: Alojamiento de imágenes en Google Code

Author: Vadim Kotov, 2011-03-02

3 answers

La página en http://wiki.debuntu.org/wiki/OpenSSL#Retrieving_certificate_informations lista las líneas de comando para eso (e imprime la información relevante). Desde esa página y algunas de las páginas de manual, parece que lo que quieres es (para bash):

openssl s_client -connect <host>:<port> < /dev/null 2>/dev/null | openssl x509 -fingerprint -noout -in /dev/stdin

Si desea el certificado completo, deje el símbolo | y todo lo que siga.

 57
Author: Jeremiah Willcock,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-03-02 08:30:02

Esto también es suficiente:

openssl x509 -fingerprint -in server.crt
 8
Author: rundekugel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-10 20:22:19

Este es un hilo viejo pero hay una manera más fácil que encontré. Suponiendo que tenga el archivo crt:

$ cat server.crt|openssl x509 -fingerprint 
MD5 Fingerprint=D1:BA:B0:17:66:6D:7F:42:7B:91:1E:22:7E:3A:27:D2
 6
Author: Michael Favia,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-10-18 17:26:00