ECC(楕円曲線暗号)証明書はApacheで利用することができますが、古いOSのスマートフォンの中にはECC証明書未対応のものもあります。
ECC(楕円曲線暗号)の概要と特徴については楕円曲線暗号(ECC)を参照してください。
ECC対応証明書を未取得の場合は、まずApache:ECC対応CSR作成方法を参照し、対応の証明書を取得してください。
お送りした証明書ファイル(例:your_domain_name.crt と DigiCertCA.crt)を、サーバー上の秘密鍵と同じディレクトリにコピーします。
Apacheの設定ファイルの位置と名称は利用環境によって異なります。以下では代表的なディレクトリー名と名称について説明していますが、すべてを網羅してはいません。記載にマッチしない場合は、ご利用環境に合わせて読み替えてください。
# grep -i -r "SSLCertificateFile" /etc/httpd/
まず、SSL設定対象のサイトをhttpsとhttpの両方でアクセスできるようにするか、httpsだけのアクセスとするかを決めます。
既存の80番ポートについてのVirtualHost設定はそのまま残したうえで、80番ポートについてのVirtualHost設定をコピーし、下の例にある太字の部分を追加して、443番ポートについての設定を行います。
例のようにSSL利用可能なVirtualHost設定を行います。
以下は非常に単純化した、SSL利用に最低限必要な要素だけで構成しています。
実利用の場合には、一般にログの指定など様々な要素が加えられています。
※SSLCertificateChainFile での指定が正常に機能しない場合は、SSLCACertificateFileを指定してください。
Apache は設定ファイルに文法エラーがあると起動しません。そのため以下のコマンドで文法チェックを行います。
# apachectl configtest
# apache2ctl configtest
apachectl コマンドでApacheを再起動します。
# apachectl stop
# apachectl start
apachectl startコマンドの代わりにapachectl startsslコマンドを実行してみてください。
もし、apachectl startsslでないとApacheがSSLを利用できる状態で起動しない場合は、apachectl startでSSLも含めてApacheが再起動できるよう調整することをお勧めします。
※apachectl startsslでないとApacheがSSLを利用できる状態で起動しない場合、Apacheの再起動の度にapachectl startsslを手動で実行しなければならなくなります。
この調整は、一般的にはSSLについての指定が記述されている<IfDefine SSL>から</IfDefine> までを削除すればよいはずです。