テスト用や、自分で使うサーバーでは、アラートが出ても自己証明書でかまわないというケースが多いと思いますが、いろいろな作り方があってややこしいので、OpenSSLを使って最も簡単にできるやり方をまとめてみました。
まず、サーバー秘密鍵を作成します。
# openssl genrsa -rand /var/log/messages 1024 > server.key
ランダムキーの生成に/var/log/messagesを読み込ませています。
「-des3」というオプションを設定するとパスフレーズの設定も可能です。
すると、「server.key」というファイル名の秘密鍵ファイルが作成されます。
次に、秘密鍵から証明申請書(CSR)を作成します。
証明申請書作成の際には、いくつかの情報を入力しなければなりません。
# openssl req -new -key server.key -out server.csr
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Kanagawa
Locality Name (eg, city) []:Kawasaki
Organization Name (eg, company) [Internet Widgits Pty Ltd]:HARMONICOM
Organizational Unit Name (eg, section) []:
Common Name (eg, YOUR name) []:www.harmonicom.jp
Email Address []:info@harmonicom.jp
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: (空で良い)
An optional company name []: (空で良い)
一通り入力すると、「server.csr」というファイルが作成されます。
この証明申請書を元に、証明書を作成します。
実はここまでの流れは、Verisignなど公的証明機関を使うときでも同じです。
公的証明機関を使う場合は、秘密鍵とここでできたCSRを提出し、証明書を受け取ります。
最後に、自己証明書の作成をします。
自己証明なので有効期限は10年ぐらいにしておきます。
# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
これで、「server.crt」という証明書ファイルが作成されました。
秘密鍵と、この証明書をWebサーバーなどに設定すれば、SSLに対応することができます。
コメントする