flat7th

ssl.FC1:3.サーバでの作業

created 2005-01-07 modified 2010-12-03 

FedoraCore1用のopensslパッケージに入ってたMakefileを利用した。
下準備:rootになって、

mkdir ~/sslwork
cd ~/sslwork
ln -s /usr/share/ssl/certs/Makefile .

(1)秘密鍵ファイルを作成

make server.key
(実際に実行されるコマンドは下記)
umask 77; /usr/bin/openssl genrsa -des3 1024 > server.key
パスフレーズを聞かれるので入力。

(2)秘密鍵ファイルのパスフレーズを取り除く

パスフレーズがあると安全性は高いが、Apacheの起動時にパスフレーズを聞かれる。
利便性を優先してパスフレーズを取り除いた。
openssl rsa -in server.key -out server.key
(旧)パスフレーズを聞かれるので入力。これでパスフレーズが空になった。
なお他のWebページを見ると、CSRファイル作成を先にやっているところが多いみたい。

(3)サイトサーバ証明書の発行を依頼するCSRファイルを作成

make server.csr
(実際に実行されるコマンドは下記)
umask 77; /usr/bin/openssl req -new -key server.key -out server.csr
いろいろ聞かれるが
入力内容備考
JP
州or県Kanagawa
都市Kawasaki
会社名flat7th会社じゃないけどまぁよし
admin
ホスト名www.flat7th.orgクライアントが指定するサーバホスト名
管理者メールアドレスroot@flat7th.org
チャレンジパスワード(空リターン)
オプション会社名(空リターン)
と入力した。

ここで入力するホスト名についてメモ:
ホスト名は、クライアントソフト側で指定するサーバホスト名を入力するようだ。
サイトによっては、www.ドメイン名 と mail.ドメイン名 が実は同じホストであったりすると思う。あるいは内側では別でも外からは同じホストに見えるとか。
ひとつのサーバ機にいくつも鍵ファイルと証明書ファイルがあると管理が面倒、という場合、メールサーバでも同じ鍵ファイルを流用することもできるのだけど、その場合メールクライアントソフトで mail.ドメイン名 と指定するとホスト名が違うよ、と警告されてしまう。もちろん www.ドメイン名 と指定すれば回避できるけど、カッコ悪い。
mail.ドメイン名 と指定するためには鍵ファイル&証明書ファイルは別にするしかなさそうだ...。

2008/8/31: ワイルドカード *.flat7th.org にすると1個でいけます

(4)サイトサーバ証明書を作成

make server.crt
(実際に実行されるコマンドは下記)
umask 77; /usr/bin/openssl req -new -key server.key -x509 -days 365 -out server.crt
CSR作成時と同じ内容を入力する。

(5)クライアントにインストールするためDER形式の証明書を作成

openssl x509 -inform pem -in server.crt -outform der -out server.der

(6)各ファイルを配置

cp server.key /etc/httpd/conf/ssl.key/
cp server.csr /etc/httpd/conf/ssl.csr/
cp server.crt /etc/httpd/conf/ssl.crt/
cp server.der /var/www/html/