Получить отпечаток сертификата HTTPS-сервера из командной строки?

недавно Mercurial имеет добавил проверка сертификата при подключении к серверам HTTPS. Я пытаюсь клонировать репозиторий wiki для проекта googlecode в https://wiki.pydlnadms.googlecode.com/hg/, но сертификат для *.googlecode.com. У меня создалось впечатление, что это называется подстановочным доменом и действует для всех поддоменов, но я получаю ошибку:

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

предположительно мне нужно добавить отпечаток пальца сертификата в мой hgrc. как извлечь этот отпечаток пальца из командная строка?

Родительский Вопрос: хостинг изображений на Google Code

3 ответов


страница в http://wiki.debuntu.org/wiki/OpenSSL#Retrieving_certificate_informations перечисляет командные строки для этого (и распечатывает соответствующую информацию). На этой странице и некоторых страницах man кажется, что вы хотите (для bash):

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

Если вы хотите весь сертификат, оставьте | символ и все после него.


это тоже достаточно:

openssl x509 -fingerprint -in server.crt

Это старый поток, но есть более простой способ, который я нашел. Предполагая, что у вас есть файл 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