サーバにSSL証明書をインストールしても、
Webブラウザだけだと中間証明書が正しくインストールされているかどうか不安になりますよね?
最近のブラウザだと同梱されている証明書が多いため、本当に中間証明書が参照されているか分からないためです。
そんな時はopensslのs_clientで証明書の正当性を確認すると確実です
1. 主要な証明書のインストール
Debian系ならaptで主要な証明書をダウンロードできます
インストールすると「/usr/share/ca-certificates/mozilla」に証明書が入ります
# apt-get install ca-certificates
2. opensslコマンド
後はopensslコマンドで繋いでみます
例えば、example.comの証明書が以下の階層構造になっていたとします
EquifaxがGeoTrustを証明し、GeoTrustがRapidSSLを証明し、RapidSSLがexample.com(あなたのサイト)を証明していたとします
Equifax `-- GeoTrust Inc `-- RapidSSL `-- www.example.com (あなたのサイト)
この場合は最初から信頼するのはEquifax(ルート証明書)なので、こんな感じのコマンドで確認します
$ openssl s_client \ -CAfile /usr/share/ca-certificates/mozilla/Equifax_Secure_CA.crt \ -connect www.example.com:443
3. 結果の確認
Certificate chainの部分で証明書の連鎖を確認できます。
あとは最後の方に表示される「Verify return code: 0 (ok)」を確認しましょう。
有効期限や、中間証明書の正当性を含めたSSLセッションが正しいと0になるはずです。
その他の方法として、証明書をチェックしてくれるWebサービスを利用するのも良いかもしれません
http://www.atmarkit.co.jp/fwin2k/win2ktips/1406sslchk/sslchk.html