これ以降の節では、秘密鍵ファイルの作成、証明書署名要求、それから自署証明書を 含む手順をおさえます。証明書発行機関によって署名された証明書を入手するつもり なら、証明書署名要求 (CSR) を作成する必要があります。あるいは、 自署証明書を作成することもできます。
秘密鍵を作るには、OpenSSL ツールキットがインストールされていて、 Apache 用に設定されている必要があります。ここからの例では、デフォルトの /usr/local/ssl/bin ディレクトリにある OpenSSL のコマンドラインツールを 使います。例では、OpenSSL のコマンドラインツールがあるディレクトリが $PATH に追加されていることを想定しています。
トリプル DES 暗号標準 (推奨) を使って秘密鍵を作るには、このコマンドを使います −
openssl genrsa -des3 -out filename.key 1024
パスフレーズを入力し、また再入力するように求められます。トリプル DES を使うことにしたなら、SSL サーバをコールドスタートで起動させる度に パスワードを求められます。(再起動コマンドを使う場合は、パスワードは 聞かれません。) 特にシステムを休みの間に起動せねばならない場合、このパスワード入力が うざったいと思うかもしれません。また、システムは既に十分に堅牢だと 確信しているかもしれません。ですから、パスワード入力がないように選択する (従ってトリプル DES 暗号化を使わずに) なら、以下のコマンドを実行してください。 逆に、単に 512 bit の鍵を作りたいなら、コマンドの最後にある 1024 を 削ってください。すると OpenSSL はデフォルトの 512 bit で鍵を作ります。 小さな鍵を使うと、少しばかり早くなりますが、安全性も低下します。
秘密鍵をトリプル DES 暗号化なしで作成するには、このコマンドを使います −
openssl genrsa -out filename.key 1024
既存の秘密鍵にパスワードを追加するには、このコマンドを使います −
openssl -in filename.key -des3 -out newfilename.key
既存の秘密鍵からパスワードを削除するには、このコマンドを使います −
openssl -in filename.key -out newfilename.key
注意:
別途指定しなければ、秘密鍵はカレントディレクトリに作成されます。
これを取り扱うには 3 つの簡単な方法があります。OpenSSL がパスに入っていれば、
鍵ファイルを保存するために選んだディレクトリから実行することができます
(Apache のインストールに RPM を使った場合のデフォルトは
/etc/httpd/conf/ssl.key
で、ソースファイルからインストールしたのなら
/usr/local/apache/conf/ssl.key
です)。
別解は、鍵が作成されたディレクトリから、正しいディレクトリへとファイルを
コピーすることです。さらに、大事なことを言い忘れましたが、コマンドの実行時にパスを
指定することができます (eg.
openssl genrsa -out /etc/httpd/conf/ssl.key/filename.key 1024
)。
次に進む前に作業が終わっていれば、方法はどれでも構いません。
OpenSSL ツールキットについてのより詳しい情報は、ここ見てください − OpenSSL Website
証明書発行機関によって署名された証明書を入手するには、証明書署名要求 (CSR) を作成する必要があります。目的は、秘密鍵を丸ごと送ったり、 扱いの難しい情報を危険にさらしたりすることなく、証明書を作成するに足る情報を 証明書発行機関に送ることです。CSR は、例えばドメイン名や地域情報といった、 証明書に含まれる情報ももっています。
openssl req -new -key filename.key -out filename.csr
注意: 秘密鍵と要求(訳注:CSR)を同時に作成するには、次のコマンドを使います。
openssl genrsa -des3 -out filename.key 1024
CA の署名した証明書を入手しようとしているなら、自署証明書を作る必要はありません。とはいえ、自署証明書の作成はたいへん簡単です。必要なのは、秘密鍵とセキュアにしたいサーバの名前 (完全修飾ドメイン名) です。地域情報や共通名 (ドメイン名)、組織情報などを訊ねられます。OpenSSL では、ここでかなりの自由がききます。証明書が正常に機能するために唯一必要な情報は、共通名 (ドメイン名) です。これがなかったり、欠けたりしていると、Certificate Name Check 警告をブラウザから受けることになります。
自署証明書を作成するには −
openssl req -new -key filename.key -x509 -out filename.crt
これらの指示に従っていたら、今までのところ、ここまででは特に問題は起きていないはずです。CSR を証明書発行機関に送って、まだ証明書を受けとっていないなら、ちょっと一休みしましょう! 自署証明書を使っているか、証明書を受けとりずみなら、次に進んでも構いません。
/etc/httpd/conf/ssl.key
に基いています。/etc/httpd/conf/ssl.crt
を使います。まだそこになければ、そこに配置してください。/etc/httpd/conf/ssl.crt
ディレクトリにコピーしてください。