使用可能なすべてのSSL CA証明書をリストする


35

私のgitクライアントの主張

error: Peer's Certificate issuer is not recognized.

つまり、グローバルシステムキーリングで対応するsslサーバーキーを見つけることができません。これを確認するには、gentoo linuxシステム上でシステム全体で利用可能なすべてのsslキーのリストを見てください。このリストを取得するにはどうすればよいですか?

回答:


65

必要なSSLキーではなく、認証局、より正確にはそれらの証明書です。

あなたが試すことができます:

awk -v cmd='openssl x509 -noout -subject' '
    /BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt

すべてのCA証明書の「サブジェクト」を取得するには /etc/ssl/certs/ca-certificates.crt

SSLサーバーが中間証明書の提供を忘れると、時々このエラーが発生することに注意してください。

openssl s_client -showcerts -connect the-git-server:443送信されている証明書のリストを取得するために使用します。


2
//、これはCEntOS 6では機能しませんが、ここにCEntOS 6の回答を追加しました:unix.stackexchange.com/a/363309/48498
Nathan Basanese

1
リストtrust listからP11-キットパッケージには、基本的に同じですか?
パブロ

15

Gentooについてはわかりませんが、ほとんどのディストリビューションは、証明書のソフトリンクをシステム全体の場所に配置し/etc/ssl/certsます。

  • キーファイルは /etc/ssl/private
  • システム提供の実際のファイルは次の場所にあります /usr/share/ca-certificates
  • カスタム証明書が入る /usr/local/share/ca-certificates

上記のパスのいずれかに証明書を配置するたびに、リストupdate-ca-certificatesを更新するために実行し/etc/ssl/certsます。


1
/etc/ssl/certsgentooの正しいフォルダです。しかし、ファイルは人間の目では読むのに適していません。
ジョナススタイン

3
それはだupdate-ca-certificates、追加でs(それはちょうど1文字の編集だとして、これを自分で編集することはできません)。
スラベンRezic

@SlavenRezic-誰かが修正しました。
クレイグS.アンダーソン

3

サーバー上のすべての証明書を一覧表示し、期限が切れる場合に通知する必要がありました。このコマンドを思いつきました:

locate .pem | grep "\.pem$" | xargs -I{} openssl x509 -issuer -enddate -noout -in {}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.