証明書と秘密鍵のペアを確認する

続いてもう一個opensslネタ。
証明書と秘密鍵のペアが分からなくなった時に確認する方法です。

まずは秘密鍵と証明書それぞれで公開鍵を生成します。
以下のコマンドで秘密鍵から公開鍵を生成。

$ openssl rsa -in private.key -pubout
-----BEGIN PUBLIC KEY-----
(snip)
-----END PUBLIC KEY-----

次に、以下のコマンドで証明書から公開鍵と証明書を生成

$ openssl x509 -in hoge.cer -pubkey
-----BEGIN PUBLIC KEY-----
(snip)
-----END PUBLIC KEY-----
-----BEGIN CERTIFICATE-----
(snip)
-----END CERTIFICATE-----

上記で出力された、PUBLIC KEY(公開鍵)の文字列を比較して、一致していれば証明書と秘密鍵が正しいペアであると言えます。