証明書の設定Apache (mod_ssl 2.0.45以降) 新規/更新用
中間CA証明書、サーバー証明書をダウンロードし、次の手順に従い証明書を設定してください。
- 1,チェーン証明書(中間CA証明書)のインストール
- 2,サーバー証明書のインストール
- 3,鍵ペアの設定
- 4,OCSPステープリングの設定
- 5,立上げファイルの確認
- 6,Apacheのサーバー・プロセス再起動
このページでは Apache のmod_ssl (2.0.45以降) に証明書をインストールする方法を説明します。
2.0.44以前の古いApache 2.0系列には、チェーン証明書の処理に欠陥があり、このページの手順ではチェーン証明書をインストールできません。新しいApacheへアップグレードするか、またはApache (mod_ssl 2.0.44以前やApache-SSL)のページを参考にインストールしてみてください。
≪Windows版をご利用の場合≫
Windows環境では実際の表記や用語が異なりますのでご注意ください。
環境 | Unix | DOS(Windows) |
変数置換 | ${変数名} | %変数名% |
パス名 | /ディレクトリー名/ファイル名 | ドライブ名:¥ディレクトリー名¥ファイル名 |
プロンプト | #や$ | ドライブ名> |
ファイル名を変えるコマンド | mv | ren |
ファイルをつなぐコマンド | cat | type |
コマンド・インタープリタ | シェル | コマンド プロンプト |
またインストールを行うにはSSLモジュールを同梱した物件をご利用ください。 Apache Software Foundationの配布しているWindows用のApacheには、SSLモジュールを同梱していない物件もあります。
このページで例としてあるパス名は任意のため、異なる値を指定している場合は適宜読み替えてください。
/APACHE_HOME
:Apacheのインストール先ディレクトリーです。
bin
:コマンドのインストールされる下位ディレクトリーです。 見当たらないときは、「sbin」「libexec」などがないか確認してください。
C:
:Windows環境ではC:ドライブにApacheがインストールされていることを前提としています。
立上げファイルについて
SSL/TLS通信を行うためには、 Apacheの立上げ時に読み込むファイル (立上げファイル) へ証明書や鍵ペアのパス名を指定する必要があります。
既定の立上げファイルは、 サーバーのインストール先ディレクトリーのconf下位ディレクトリーにあります。
サーバーの種類や版既定の立上げファイル名 | |
---|---|
Apache 2.2以降 | extra 下位ディレクトリーの下の httpd-ssl.conf |
2.0 | ssl.conf |
1.3 | httpd.conf |
※サーバーの種類や版にしたがって具体的なパス名は異なります
※2系のApacheのconf/originalという下位ディレクトリーには、 上記と同名の別ファイルのあることがあります。 同名の別ファイルと勘違いしないよう、 ご注意ください。
※上記は、 Apacheの開発者らの配布しているオリジナルの値です。 上記と違った値にカスタム化し、 配布されていることもあります。 立上げファイルが見つからない場合は、 配布元へお問い合わせください。
SSL/TLS設定ファイルの有効化
Apache 2系列では、サーバーの立上げファイル (httpd.conf) と、 SSL/TLSの設定ファイル (ssl.conf や extra/httpd-ssl.conf など) が別々になっています。
サーバーの立上げファイルにある「Include」のエントリーで、 SSL/TLSの設定ファイルを取り込む指定がされていますが、 SSL/TLSの設定を取り込むようになっていない場合、 「Include」の左にある「#」 文字を削除し、 設定を取り込むよう変更をしてください。
例: Include ssl.conf
必要モジュール群の組込み
Apache 2.3系列以降では、 mod_sslモジュール自身や、 mod_sslモジュールの呼び出している下位モジュール群を、 Apache HTTPサーバーの立上げファイル (httpd.conf) から組み込む必要があります。
「LoadModule」のエントリーにモジュールとして組み込む指定がされていますが、 指定がされていない場合はモジュールを組み込む指定をしてください。
例)
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
LoadModule slotmem_shm_module modules/mod_slotmem_shm.so
LoadModule ssl_module modules/mod_ssl.so
※すでに指定があり、 左に「#」文字がある場合は、 「#」を削除してください。
※パス名の区切り文字は、 UnixやWindowsといった環境にかかわらず常に「/」文字です。
※slotmem_shm_moduleの組込み不要な環境もあります。
「LoadModule」 :指定の名前のファイルをモジュールとして組み込む指定
「modules/mod_socache_shmcb.so」, 「modules/mod_slotmem_shm.so」, 「modules/mod_ssl.so」
:組み込むモジュールの入ったファイルの名前
このファイル名は、 Apacheの開発者らの配布しているオリジナルの値です。
上記と違った値にカスタム化し、配布されていることもあります。
モジュール群を組み込めない場合は、配布元へお問い合わせください。
モジュール群を正しく組み込めることを確認
コマンド例:
# /APACHE_HOME/bin/apachectl -t
Windows環境の場合
(Apache 2.2以降)
C:¥>¥APACHE_HOME¥bin¥httpd -t
(Apache 2.0以前)
C:¥>¥APACHE_HOME¥bin¥Apache -t
「Syntax OK」 と出力されることをご確認ください。
上記で 「Syntax OK」 が出力されない場合、 エントリーやファイル名が間違っている可能性があります。
各証明書と鍵ペアは、 必ず (もしパス・フレーズを外していたら、 パス・フレーズで暗号化してから) バックアップをとり、 パス・フレーズの保管場所と別の安全な場所に格納してください。
1.チェーン証明書(中間CA証明書)のインストール
- 注意事項
- 中間CA証明書が新しくなりました。
2025/4/25以降に発行される証明書より、新しい中間CA証明書をインストールする必要があります。
お客様専用ページから新しい中間CA証明書をダウンロードして、インストールを行ってください。
チェーン証明書 (中間CA証明書) の設定方法は、Apache 2.4.7以前とApache 2.4.8以降で異なります。
1-1
Apache 2.4.7以前
この手順では例として、 立上げファイル内のSSLCertificateChainFileエントリーに、 以下のように指定されているものとします (お使いのブラウザによっては、 実際は1行の設定が、2行以上で表示、 印字されることがあります)。
例)SSLCertificateChainFile /APACHE_HOME/conf/ssl.crt/ca.crt
1-1-1
中間CA証明書のディレクトリーの移動
中間CA証明書を、 SSLCertificateChainFileエントリーで指定したパス名へ移動させます。
※ pfwsr3ca.txt (中間CA証明書)は、現在作業中のディレクトリーにあるものとします。
コマンド例:
mv pfwsr3ca.txt /APACHE_HOME/conf/ssl.crt/ca.crt
1-1-2
確認
指定したディレクトリーに、「ca.crt」ファイルが保存されているか、 ご確認ください。
以上で中間CA証明書のインストールは完了です。
1-2
Apache 2.4.8以降
Apache 2.4.8以降では、 サーバー証明書とチェーン証明書を同時にインストールします。 ここではインストールするファイルを準備します。
1-2-1
サーバー証明書とチェーン証明書 (中間CA証明書) の連結
サーバー証明書とチェーン証明書 (中間CA証明書) をつないで、 1つのファイルにします。
各証明書ファイルの末尾が5つのハイフンと改行で終わっていることを、ご確認ください。
※サーバー証明書 (B1234567.cer) と中間CA証明書 (pfwsr3ca.txt) は、 現在作業中のディレクトリーにあるものとします。
コマンド例:
cat B1234567.cer pfwsr3ca.txt >combined.pem
次のサーバー証明書のインストールで、 中間CA証明書のインストールが完了します。
2.サーバー証明書のインストール
この手順では、 例として立上げファイル内のSSLCertificateFileエントリーに以下の指定がされているものとします。
例) SSLCertificateFile /APACHE_HOME/conf/ssl.crt/server.crt
2-1
証明書ファイルの移動
移動させるファイルは、 Apache 2.4.7以前とApache 2.4.8以降で異なります。
2-1-1
Apache 2.4.7以前
サーバー証明書を、 SSLCertificateFileエントリーで指定したパス名へ移動させます。
※B1234567.cer(サーバー証明書)は、現在作業中のディレクトリーにあるものとします。
コマンド例:
mv B1234567.cer /APACHE_HOME/conf/ssl.crt/server.crt
2-1-2
Apache 2.4.8以降
1-2-1.で連結した証明書 (combined.pem) をSSLCertificateFileエントリーで指定した名前のファイルへ移動させます。
コマンド例:
mv combined.pem /APACHE_HOME/conf/ssl.crt/server.crt
2-2
確認
指定したディレクトリーに「server.crt」ファイルが保存されているか、ご確認ください。
以上でサーバー証明書のインストールは完了です。
3.鍵ペアの設定
この手順では例として、 立上げファイル内のSSLCertificateKeyFileエントリーに以下の指定がされているものとします。
例) SSLCertificateKeyFile /APACHE_HOME/conf/ssl.key/server.key
3-1
鍵ペアのファイルの移動
サーバー証明書に対応する鍵ペアのファイルを、SSLCertificateKeyFileエントリーで指定したパス名へ移動させます。
※servername.key(お申込み時に生成した鍵ペアファイル)は、現在作業中のディレクトリーにあるものとします。
コマンド例:
mv servername.key /APACHE_HOME/conf/ssl.key/server.key
3-2
確認
指定したディレクトリーに 「server.key」 ファイルが保存されているかご確認ください。
以上で鍵ペアの設定は完了です。
Windowsなど、 パス・フレーズのキーボード入力 (SSLPassPhraseDialog builtin) がサポートされていない環境では、 パス・フレーズのないことを確認してください。 (メモ帳などで) ファイルを開き、 「Proc-Type:」 で始まる行も 「DEK-Info:」 で始まる行もなければ、 問題ございません。 もしそうでない場合は、「よくあるお問い合せ」 のページにしたがってください。
設定後、 各種エントリーの左に「#」文字がないことをご確認ください。
4.OCSPステープリングの設定
OCSPステープリングの説明については、FAQをご覧ください。
もし、 次の条件
- ・Apacheのバージョンが2.4.1以降であり、
- ・OpenSSLのバージョンが0.9.8j以降 (OpenSSL構築時の初期設定によっては、0.9.8hや0.9.8iでよい場合もあります) であり、
- ・サーバー機からプロクシーなしで <http://sr30.ocsp.secomtrust.net/>へアクセスできる
をすべて満たしている場合、 OCSPステープリングの設定をお勧めします。 OCSPステープリングを有効にするには、 立上げファイルに次のように指定してください。
満たしていない条件のある場合、 条件を満たすようにするか、 OCSPステープリングせずに立上げファイル確認の手順に進むかなさってください。
4-1
失効情報への接続の確認
サーバー機にあるウェブ・クライアントやブラウザなどでOCSPレスポンダ (失効情報) <http://sr30.ocsp.secomtrust.net/>へアクセスしようとすると、
- ・OCSPレスポンダのFQDNからIPアドレスを引くことができ、
- ・プロクシーなしでOCSPレスポンダに接続でき、
- ・OCSPレスポンダからHTTPのエラーの応答 (ふつう500 Internal Server Error) が戻る
ことをご確認ください (失効情報要求を送ってはいないので、ここではHTTPのエラーが正しいです)。
Windows版のApache用にWindows Internet Explorerで確認なさるときは、 「コントロール パネル」の「インターネット オプション」の「詳細設定」タブの「ブラウズ」アイコンの「HTTP エラー メッセージを簡易表示する」のチェックをいったん解除してください。
4-2
OCSPステープリングの有効化
OCSPステープリングを有効にするため、 立上げファイルに次のように指定してください。
例)
SSLUseStapling On
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"
「:」文字の左側は、 SSLSessionCacheに指定した文字列の「:」文字の左側と同じにもできます。 「:」文字の右側から開き括弧までは、 任意のファイルのパス名です。
5.立上げファイルの確認
コマンド例:
/APACHE_HOME/bin/apachectl configtest
≪Windows環境の場合≫
Apache 2.2以降
C:¥>¥APACHE_HOME¥bin¥httpd -t
Apache 2.0以前
C:¥>¥APACHE_HOME¥bin¥Apache -t
「Syntax OK」 と出力されることをご確認ください。
上記で 「Syntax OK」 が出力されない場合、 エントリーやファイル名が間違っている可能性があります。
6.Apacheのサーバー・プロセス再起動
6-1
Apacheのサーバー・プロセスの停止
Apacheのサーバー・プロセスを停止してください。
コマンド例:
/APACHE_HOME/bin/apachectl stop
6-2
Apacheのサーバー・プロセスの再開
Apacheのサーバー・プロセスを再開してください。
コマンド例:
/APACHE_HOME/bin/apachectl start
(Apache 2.0以前の場合 /APACHE_HOME/bin/apachectl startssl)
※「graceful」 や 「restart」 などを引数に指定して実行しても、 新しい証明書の設定になりませんので、ご注意ください。
≪Windows環境の場合≫
停止: (Apache 2.2以降)
C:¥>¥APACHE_HOME¥bin¥httpd -k stop
停止: (Apache 2.0以前)
C:¥>¥APACHE_HOME¥bin¥Apache -k stop
再開: (Apache 2.2以降)
C:¥>¥APACHE_HOME¥bin¥httpd -k start
再開: (Apache 2.0以前)
C:¥>¥APACHE_HOME¥bin¥Apache -k start
6-3
パス・フレーズの入力
「Enter pass phrase:」 のようなプロンプトが出た場合、 「鍵ペアおよびCSRの生成」で指定したパス・フレーズを入力してください。
※入力したパス・フレーズは、 エコー・バックされませんので、 パス・フレーズの後、 Enterキーの押下を忘れないようご注意ください。
証明書のインストールは、以上で完了です。