SSL証明書と秘密鍵のペア確認

概要

SSL証明書と秘密鍵がたくさんあったり更新の時期や担当者の変更などでSSL証明書と秘密鍵のペアが分からなくなるときがあります。

証明書ファイル example.com.crt
秘密鍵ファイル example.com.key

上記のファイル名の証明書ファイルと秘密鍵ファイルがペアかどうか確認する手順です。

確認用コマンド

以下コマンドの出力結果を比較して結果が同じであればペアです。

証明書確認コマンド
openssl x509 -in example.com.crt -noout -modulus


秘密鍵確認コマンド
openssl rsa -in example.com.key -noout -modulus


確認用シェルスクリプト

上記コマンドでも確認出来ますがスクリプトにしておくと便利です。

使い方
ssl-cert-key-paircheck.sh -c example.com.crt -k example.com.key

-c証明書ファイル名を渡します。
-k秘密鍵ファイル名を渡します。

スクリプト
#!/bin/bash

while getopts c:k: opt
do
   case ${opt} in
    c)
        CERTFILE=${OPTARG};;
    k)
        KEYFILE=${OPTARG};;
    *)
  exit 1;;
  esac
done

CERTMODULUS=`openssl x509 -in $CERTFILE -noout -modulus`
KEYMODULUS=`openssl rsa -in $KEYFILE -noout -modulus`

if [ "$CERTMODULUS" = "$KEYMODULUS" ];
        then
                echo Match
        else
                echo Mismatch
fi