web-dev-qa-db-ja.com

コマンドラインからHTTPSサーバーの証明書のフィンガープリントを取得しますか?

最近MercurialはHTTPSサーバーに接続するときに 追加 証明書の検証を行いました。 https://wiki.pydlnadms.googlecode.com/hg/にあるgooglecodeプロジェクトのWikiリポジトリのクローンを作成しようとしていますが、証明書は*.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コードでの画像のホスティング

32
Matt Joiner

http://wiki.debuntu.org/wiki/OpenSSL#Retrieving_certificate_informations のページには、そのためのコマンドラインがリストされています(および関連情報を出力しています)。そのページといくつかのマニュアルページから、あなたが望むのは(bashの場合)ようです:

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

証明書全体が必要な場合は、|記号とその後のすべて。

64

これでも十分です:

openssl x509 -fingerprint -in server.crt
8
rundekugel

これは古いスレッドですが、もっと簡単な方法があります。あなたが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
Michael Favia

誰もこれについてコメントしていないので、サブドメインに関する混乱のいくつかを解決しようとしました:

証明書は* .googlecode.com用です。これはワイルドカードドメインと呼ばれ、すべてのサブドメインに有効であるという印象を受けました

あなたは部分的に正しいです。ワイルドカード証明書はすべてのdirectサブドメインに有効ですが、サブドメインのサブドメインには有効ではありません。

したがって、*.googlecode.compydlnadms.googlecode.comでは有効ですが、wiki.pydlnadms.googlecode.comでは無効です。

そのためには、*.pydlnadms.googlecode.comの証明書またはwiki.pydlnadms.googlecode.comの非ワイルドカード証明書が必要です。

0
Buurman

バックグラウンド

Mercurial 3.9以降 、以前のバージョンのSHA-1とは異なり、Mercurialではより安全なSHA-256フィンガープリントが必要です。 エレミヤの答え は、SHA-1フィンガープリントの計算方法を説明しています。 J.Moneyのコメントで指摘されているように、-sha256フラグを使用して正しい指紋を取得します。

新しいコマンド:

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

どこ <Host>:<port>は適宜置き換えてください。 (元の質問に答えるには、wiki.pydlnadms.googlecode.com:443、yanokwaが指摘したように。)https:// URLから、それ以外の場合はエラーExpecting: TRUSTED CERTIFICATE

次に、 結果のSHA-256フィンガープリントをMercurialのグローバル設定ファイルに追加~/.hgrc)。

0
Ben Mares