Apache1.3 + mod_ssl + OpenSSL
弊社では以下手順にて動作検証をおこなっておりますが、Apacheの動作を保証するものではございませんので、参考情報としてご覧ください。アプリケーションの詳細については付属のドキュメントや関連書籍等でご確認ください。
Apacheはオープンソースのアプリケーションです。脆弱性などの問題がないか、随時情報を確認いただき、万一問題が発見された場合は、該当サービスの停止や、対応パッチがリリースされている場合は速やかに適用するなど、運用には十分ご注意ください。
- 本例では以下環境を前提としています。お客様の環境に合わせて任意に読み替えてご覧ください。
コモンネーム | ssl.kingssl.com |
confディレクトリまでのパス | /usr/local/apache/conf/ |
apache起動コマンド | /usr/local/apache/bin/apachectl |
証明書の保存ディレクトリ | /usr/local/apache/ssl.crt/ |
サーバ証明書ファイル名 | ssl.kingssl.com.crt |
中間証明書ファイル名 | kingcacert.cer |
証明書は管理者様宛てにメールでお送りしています。「◆証明書」をコピーしてサーバに保存してください。
/usr/local/apache/conf/ssl.crt/ssl.kingssl.com.crt
中間証明書をサーバに保存します。
※ 中間証明書は管理者様宛てにメールでもお送りしています。「◆中間証明書」をコピーしてください。
/usr/local/apache/conf/ssl.crt/kingcacert.cer
Apacheの設定ファイル httpd.confの対象バーチャルホスト内にSSLの設定を行います。
<VirtualHost xxx.xxx.xxx.xxx:443>
DocumentRoot "/usr/local/apache/htdocs"
ServerName ssl.kingssl.com
SSLEngine on
SSLCertificateChainFile /usr/local/apache/conf/ssl.crt/kingcacert.cer
SSLCertificateFile /usr/local/apache/conf/ssl.crt/ssl.kingssl.com.crt
SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/ssl.kingssl.com.key
</VirtualHost>
※赤字部分は中間証明書の設定です。
Apacheのデーモンを再起動し、変更した設定を反映させます。
※毎回、起動の際に秘密鍵のパスフレーズの入力が必要になります。restartでは、正常に読み込まれない場合がありますのでご注意ください。
# /usr/local/apache/bin/apachectl stop
# /usr/local/apache/bin/apachectl startssl
※お客様の環境によってはコマンドが異なる場合があります。
SSL通信に問題がないか確認してください。
Internet Explorer は、中間証明書がインストールされていない場合でも、自動的にそれを補完するため、エラーがでません。正しくインストールされているか確認するには、opensslコマンドが有効です。
SSL接続時の証明書情報をopensslコマンドで確認したい。
- 秘密鍵と証明書はペアでバックアップを取ることをお勧めします。パスフレーズが設定されている場合は、こちらもお忘れにならないようご注意ください。
補足
※[ ] の部分はお客様の環境に合わせて読み替えてください。
1.秘密鍵の内容を確認
# openssl rsa -text -noout -in /[FilePath]/[KeyFile]
2.秘密鍵のパスフレーズを解除
(Windows版のApacheでは、秘密鍵のパスフレーズを解除する必要があります。)
# cp /[FilePath]/[KeyFile] /[FilePath]/[KeyFile].org (元ファイルのバックアップ)
# openssl rsa -in /[FilePath]/[KeyFile] -out /[FilePath]/[KeyFile]
3.CSRの内容を確認
# openssl req -text -noout -in /[FilePath]/[CSR]
4.証明書の内容を確認
# openssl x509 -text -noout -in /[FilePath]/[CertFile]