web-dev-qa-db-ja.com

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

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

error: Peer's Certificate issuer is not recognized.

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

39
Jonas Stein

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

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

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

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

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

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

71

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

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

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

17
SHW

私はサーバー上のすべての証明書をリストし、それらが期限切れになるかどうか通知する必要がありました。私たちはこのコマンドを思いつきました:

locate .pem | grep "\.pem$" | xargs -I{} openssl x509 -issuer -enddate -noout -in {}
3
Dwight Emmons