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