web-dev-qa-db-ja.com

openssl:証明書チェーンからルート証明書を抽出しますか?

openssl s_client -showcerts -connect Host.whatever:443 </dev/nullで証明書チェーンを取得しています。

それに加えて、プログラムでチェーンからルート証明書を-----BEGIN CERTIFICATE-----.....-----END CERTIFICATE-----の形式で抽出したいと思います。

それが可能で、OpenSSLに同梱されている機能を誰かが知っていますか?

4
Mike Stan

openssl s_clientは、クライアントから送信された証明書チェーンのみを表示します。通常、このチェーンにはルート証明書自体は含まれていません。代わりに、ルート証明書はローカルトラストストアにのみ含まれ、サーバーから送信されません。私が知る限り、opensslコマンドラインを使用して接続のルート証明書を取得する組み込みの方法はありません。

8
Steffen Ullrich

Webサーバーがルート証明書を送信しても意味がありません。送信された場合、ブラウザーはそれを無視する必要があります(ローカルストアに存在する必要があります)。中間CA証明書の場合は、すでに使用している方法で取得します。

0
melds