証明書をサーバに設定する前にチェックする

スポンサーリンク
スポンサーリンク

下記の記事で、以前サーバ証明書の作成方法を説明しました。

CentOS6 / Ubuntu14.04 でのサーバ証明書の作成方法

さて、作成した証明書が正しく出来たかのチェックですが、運用状態のサーバで、むやみに証明書を設定したりも出来ません。
また、テストの為だけに実際に Apacheへ設定したりなどすることも面倒です。

しかし、証明書作成に使用したopensslコマンドには、手軽にチェックできる方法が用意されています。

下記コマンドを実行します。実行はルートでなくとも、一般ユーザでもOKです。
server.crt、server.key はそれぞれ、サーバ証明書、サーバ用秘密鍵です。
CentOS6 / Ubuntu14.04 でのサーバ証明書の作成方法 で作成した場合は、下記の例のファイル名そのままでOKです。

openssl s_server -cert server.crt -key server.key -www

指定した証明書を使用して、4433番ポートで httpsサーバとして動作しますので、ブラウザから https://test.example.com:4433 のようにアクセス出来ます。

これで、作成した証明書を使用した場合、ブラウザで見た場合に問題無いかチェックできます。

問題無い場合は、次のような表示で始まる内容がすぐさまブラウザに表示されます。

s_server -cert server.crt -key server.key -www 
Secure Renegotiation IS supported
Ciphers supported in s_server binary
   :

実際に Apache等のWEBサーバへ設定した時と同様、証明書に何らかの問題があれば、次の内容がブラウザに表示されます。

画像

画像

サーバ証明書作成時に指定した CommonName とサーバ名が異なる場合は、証明書のエラー詳細で次のような表示がされます。
もし運用状態のサーバに設定していたら大変ですが、事前にこのように確認できます。

画像

画像

このように、実際にサーバに証明書を設定せずとも、事前に証明書のチェックが可能です。

参考

DSAS開発者の部屋:システム管理者の心得? ~ OpenSSLコマンドで証明書をチェック
OpenSSL Command-Line HOWTO – nona.to fswiki

コメント

タイトルとURLをコピーしました