- ベストアンサー
サーバ証明書とプライベートキーが一致しているか確認したいと考えています
サーバ証明書とプライベートキーが一致しているか確認したいと考えています。 とあるシステムでサーバ証明書の別のプライベートキーをセットにしてインポートした場合、サーバ証明書とプライベートキーが一致しないとエラーが出るので、違うサーバーのプライベートキーをインストールした可能性があると判断はできるのですが、ここの値が違っているのでサーバ証明書の別のプライベートキーが一致していないと言えるようにしたいと考えております。 openssl verifyでプライベートキーとサーバ証明書をテキストにして出力できるみたいですが、一致していないというのはどこを見て判断できるのでしょうか? ご教示いただけますようお願いいたします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> openssl verifyでプライベートキーとサーバ証明書をテキストにして出力できるみたいですが、 > 一致していないというのはどこを見て判断できるのでしょうか? openssl verifyは、証明書を検証する(証明書チェインや有効期限を検証する)だけであり、 検証の際にプライベートキーは不要ですので、こういう目的には使えないだろうと思います。 というか、サーバ証明書には公開鍵の情報しかなく、対応する秘密鍵(プライベートキー) を示すような情報は入っていないと思います。 そこで、OpenSSLのコマンドを使って手持ちの秘密鍵から公開鍵を作成し、 証明書内の公開鍵と照合すればよいと思います。 具体的には、 1.秘密鍵から公開鍵を作成する openssl rsa -in 秘密鍵ファイル名 -pubout -out 公開鍵ファイル名 2.公開鍵の内容をテキスト表示する openssl rsa -in 公開鍵ファイル名 -pubin -text 3.サーバ証明書の内容をテキスト表示する openssl x509 -in 証明書ファイル名 -text で、2と3の出力のPublic Key部分が一致しているか 確認すればよいと思います。 (参考) http://www.nina.jp/server/slackware/openssl/openssl-command.html http://x68000.q-e-d.net/~68user/unix/pickup?openssl
その他の回答 (1)
- bluegoldme
- ベストアンサー率0% (0/1)
ちょっと前にブログに書いた内容のままですが。。。 RSA 鍵で作成した証明書の場合、証明書内の公開鍵と秘密鍵は同一のモジュロ(Modulus)を持っているので、これを比較します。 証明書(公開鍵) openssl x509 -noout -modulus -in certificate_file.pem 秘密鍵 openssl rsa -noout -modulus -in private_key.pem これらの実行結果として表示されるモジュロはかなり長くなるので、更に MD5 ダイジェストを計算した法が比較は簡単になります。 openssl x509 -noout -modulus -in certificate_file.pem | openssl md5 openssl rsa -noout -modulus -in private_key.pem | openssl md5
お礼
お礼が遅くなり、申し訳ございませんでした。 がありがとうございます。
お礼
お礼が遅くなり、申し訳ございませんでした。 がありがとうございます。