从命令行获取 HTTPS 服务器的证书指纹? [英] Get certificate fingerprint of HTTPS server from command line?
问题描述
Recently Mercurial has added certificate validation when connecting to HTTPS servers. I'm trying to clone the wiki repository for a googlecode project at https://wiki.pydlnadms.googlecode.com/hg/
, but the certificate is for *.googlecode.com
. I was under the impression that this is called a wildcard domain and valid for all subdomains, but I'm receiving the 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
Allegedly I need to add the certificate fingerprint to my hgrc. How do I retrieve this fingerprint from the command line?
Parent Question: Hosting images on Google Code
The page at http://wiki.debuntu.org/wiki/OpenSSL#Retrieving_certificate_informations lists the command lines for that (and printing out the relevant information). From that page and some of the man pages, it seems like what you want is (for bash):
openssl s_client -connect <host>:<port> < /dev/null 2>/dev/null | openssl x509 -fingerprint -noout -in /dev/stdin
If you want the whole certificate, leave off the |
symbol and everything after it.
这篇关于从命令行获取 HTTPS 服务器的证书指纹?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!