SSLサーバ証明書のインストールについて
nginx + OpenSSL 新規・更新
本マニュアルは、サーバ証明書の設定手順をご案内するものです。nginxのインストールや、コマンドの意味等はご案内しておりませんので、各情報サイトや参考書籍等でご確認ください。本手順は、nginx 1.4.2で動作を確認しております。
nginxをご利用になる際の注意点
弊社では以下手順にて動作検証をおこなっておりますが、動作を保証するものではございません。 nginxはオープンソースのアプリケーションです。脆弱性などの問題がないか、随時情報を確認いただき、万一問題が発見された場合は、該当サービスの停止や、対応パッチがリリースされている場合は速やかに適用するなど、運用には十分ご注意ください。
本例では以下環境を前提としています。お客様の環境に合わせて任意に読み替えてご覧ください。
コモンネーム | ssl.toritonssl.com |
---|---|
confファイルのパス | /etc/nginx/ |
サーバ証明書ファイル名 | ssl.toritonssl.com.crt |
中間CA証明書ファイル名 | dvcacert.cer |
証明書を結合した後のファイル名 | ssl.toritonssl.com.pem |
- 更新または乗り換えのお客様
・既存の「証明書」「秘密鍵」のファイル名を引き続き使用する。
・「証明書」「秘密鍵」のファイル名を新たにし、confファイルで新ファイル名を記載する。
いずれの方法を取っていただいても問題ございませんが、前者の場合ファイルを上書きしてしまいますと、復旧できませんのでご注意ください。
また、新証明書が反映するのは、以下手順の最後のApache再起動後となります。
- 1証明書は管理者様宛てにメールでお送りしています。「◆証明書」をコピーしてサーバに保存してください。
- 保存先の例 /etc/nginx/ssl.toritonssl.com.crt
- 更新のお客様
引き続き同じファイル名をご利用になる場合は、元の証明書ファイルをリネームするなどでバックアップを取ってから、同一ファイル名で保存します。秘密鍵を新たに作成している場合は、新しい秘密鍵が従来のファイル名となるよう設定します。
リネームコマンドの例: mv [旧ファイル名] [新ファイル名]
- 2中間証明書をサーバに保存します。
- ※ 中間証明書は管理者様宛てにメールでもお送りしています。「◆中間CA証明書」のデータ(-----BEGIN CERTIFICATE----- から -----END CERTIFICATE----- まで)をコピーしてサーバに保存します。
保存先の例 /etc/nginx/dvcacert.cer
- 3サーバ証明書と中間CA証明書を結合します。
ファイル結合コマンド例 # cat ssl.toritonssl.com.crt dvcacert.cer > ssl.toritonssl.com.pem ファイルの結合後、元のファイルは削除いただいて結構です。
- 結合例
-----BEGIN CERTIFICATE-----
[サーバ証明書]
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
[中間CA証明書]
-----END CERTIFICATE-----
- 4nginxの設定ファイルにSSLの設定を行います。
- ※赤文字部分は記載例ですので、お客様の環境によって読み替えてください。
# HTTPS server
server {
listen 443;
server_name ssl.toritonssl.com;
ssl on;
ssl_certificate ssl.toritonssl.com.pem;
ssl_certificate_key ssl.toritonssl.com.key;
}
- 5nginxをリロードし、変更した設定を反映させます。
- # /usr/sbin/nginx -s reload
- 以上で設定完了です。
https://コモンネーム での接続をご確認ください。 - PCブラウザでは、中間CA証明書がインストールされていない場合でも、自動的にそれを補完するため、エラーが出ないものがあります。正しくインストールされているか確認するには、opensslコマンドが有効です。
- SSL/TLS接続時の証明書情報をopensslコマンドで確認したい。
- ※秘密鍵と証明書はペアでバックアップを取る必要がございます。
※パスフレーズが設定されている場合は、こちらもお忘れにならないようご注意ください。
※パスフレーズを忘れた場合、nginxを起動できなくなりますので、新しく秘密鍵、CSRを生成いただき、証明書を再発行する必要があります。
補足
※[ ] の部分はお客様の環境に合わせて読み替えてください。
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]