はじめに
CSRとは、サーバ証明書申請・取得するために認証局へ提出する証明書署名要求(Certificate Signing Request)のことです。
サーバ証明書を導入するサーバで、Webサイトの識別情報などを入力して生成するものです。
ご使用のWebサーバの種類によって、生成手順が異なりますが、次はVPSホスティングサーバの初期状態でご利用いただける OpenSSL による生成方法をご案内します。
OpenSSLでCSR生成
※ コマンドの先頭の "#(シャープ)" はシェルのプロンプトを示しますので、入力不要です。
1.前準備
- 任意のファイルを作成します。
適切なディレクトリへ移動し tmp というディレクトリを作成したうえ、任意の文字列を入力したファイルをいくつか作成しておきます。 (以降、作成した tmp ディレクトリ内でのコマンド実行となります。)
# mkdir tmp
# cd ./tmp
# echo "任意の文字列" > file1
# echo "任意の文字列" > file2
.
.
# echo "任意の文字列" > file5 - OpenSSLがインストールされていることと、OpenSSLのパスを予め確認してください。
# which openssl
お客様のサーバ環境によって、パスが異なります。
以下の手順では OpenSSL のパスが /usr/bin/openssl と仮定します。
2. 秘密鍵の生成
- 秘密鍵作成のための疑似乱数の情報を生成します。
# /usr/bin/openssl md5 ./* > rand.dat - 作成した疑似乱数ファイル(rand.dat)から、2048ビットの秘密鍵を作成します。
# /usr/bin/openssl genrsa -rand (疑似乱数ファイル名) -des3 2048 > (秘密鍵ファイル名)
例:/usr/bin/openssl genrsa -rand rand.dat -des3 2048 > servername.key - 秘密鍵を保護するためのパスフレーズの入力が求められます。
任意のフレーズを用意し、同じフレーズを2度入力します。
Enter pass phrase:
Verifying - Enter pass phrase:
重要:
このパスフレーズは、サーバの再起動時や証明書のインストール時に必要となる重要な情報ですので、
忘れないように、また他人に漏れないように大切に管理してください。
3. CSRの生成
- 作成した秘密鍵ファイルからCSRを生成します。
# /usr/bin/openssl req -new -key (秘密鍵ファイル名) -out (CSRファイル名)
例:/usr/bin/openssl req -new -key servername.key -out servername.csr - 秘密鍵作成時に指定したパスフレーズを入力します。
Enter pass phrase for servername.key:
Verifying - Enter pass phrase for servername.key: - 識別情報を入力します。
【Country Name (国名)】
半角大文字の国コード「JP」を入力します。
Country Name (2 letter code) [GB] :JP
【State or Province Name (都道府県名)】
サイトを運営する所在地の都道府県名をローマ字表記で入力します。
(例:長野県の場合、「Nagano」と入力します)
State or Province Name (full name) [ ] :Nagano
【Locality Name (市区町村名)】
サイトを運営する所在地の市区町村名をローマ字表記で入力します。
(例:長野市の場合、「Nagano」と入力します)
Locality Name (eg, city) [ ] :Nagano
【Organization Name (組織名)】
サイトを運営する組織の正式英語名称を入力します。
(例:Densan Co., Ltd)
Organization Name (eg, company) [ ] :Densan Co., Ltd
【Organizational Unit Name (部署名)】
証明書を使用する部署名を入力します。
(例:Internet Dept.)
Organizational Unit Name (eg, section) [ ] :Internet Dept.
【Common Name (サーバ名)】
サーバ証明書を導入するWebサイトのURLを入力します。
(例:https://www.sample.server.co.jp/ の場合、 www.sample.server.co.jp となります)
Common Name (eg, your name or your server's hostname) [ ] :www.sample.server.co.jp
以下の項目は入力不要ですので、何も指定しないで[Enter]キーを押して次へ進んでください。
Email Address [ ] :
A challenge password [ ] :
An optional company name [ ] : - 入力完了後、CSRが生成されます。
生成されたCSRは、「サーバ証明書を発行するための署名要求(CSR)の提出」フォームに貼り付けて、
提出してください。
-----BEGIN CERTIFICATE REQUEST-----
の行から
-----END CERTIFICATE REQUEST-----
の行までを、
コピー&ペーストで貼り付けてください。
注意事項
- CSR生成時に作成した秘密鍵がなくなったり、改ざんされたりした場合、証明書が利用できなくなりますので、必ずハードディスク以外の媒体にもバックアップを取って厳重に管理してください。
- 秘密鍵ファイルを紛失したり、パスフレーズを忘れたりした場合、サーバの再起動や証明書のインストールなどができなくなります。その場合、新しい証明書を購入することになるので、ご注意ください。