SSL証明書なし

SSL証明書なし

Web サイト クライアントの SSL ステータスをチェックしてエラーを返す bash スクリプトを作成しようとしています。しかし、すべての IP に対してwget https://$ip:$port次のエラーが発生します。

ERROR: The certificate of 1.2.3.4 is not trusted
ERROR: The certificate of 1.2.3.4 hasn't got a know issuer

Firefox で試してみると、各 IP の証明書があります。そこで、次のように Firefox CA をリポジトリにダンプしてみました。

wget http://$ip:$port --ca-directory=(directory of CA from Firefox)

しかし、何も変わりません。

wgetSSL 証明書が見つからず、取得方法が分からないと思います。

証明書情報を入手するにはどうすればよいですか?

答え1

www.example.com通常、SSL 証明書はIP アドレスではなく ホスト名に対して発行されます。
そのため、IP アドレスを使用すると、アクセスしている URL と証明書が発行されたホスト名が一致しなくなります。

次に、man ページによると wget に必要なため、Firefox の CA ディレクトリは適切ではない可能性があります。

--ca-directory=ディレクトリPEM 形式の CA 証明書を含むディレクトリを指定します。各ファイルには 1 つの CA 証明書が含まれており、ファイル名は証明書から派生したハッシュ値に基づいています。...

wget は openssl ライブラリを使用するため、SSL 証明書の有効期限を確認するクエリなど、証明書のステータスを確認するためのより詳細なユーティリティになる可能性があります。

 echo "GET /" | openssl s_client -connect servername:port  | openssl x509 -noout -dates

関連情報