テストWebサーバー(WEBrick)準備(ベリサインSSL導入)
★★今回やりたいこと★★
テストサーバーにベリサインSSL(http://www.verisign.co.jp/)を導入したい。
Webサーバーは「WEBrick」とする。
VeriSign Class 3 Primary CA
VeriSign Class 3 Primary CA G2
VeriSign/RSA Secure Server CA
上記の3つのどれかが良い。
★★ベリサインSSLを導入する目的★★
1.「暗号化通信」をすることで、ネットワークを流れる個人情報の漏えいを防ぐ。
2.「運営している組織が本物である」ということを確認できる。
3.携帯電話端末にインストールされているルート証明書がベリサインが多いため。(http://triaez.kaisei.org/~kaoru/ssl/cell.html)
テストサーバーにベリサインを導入する理由は3の影響が大きい。
★★無料テストIDでテストしてみる★★
https://digitalid.verisign.co.jp/trialserver/trialIntro.htm
以下5つのステップを踏む
Step 1: CSRの生成
Step 2: CSRの提出
Step 3: 申請フォームの入力
Step 4: テスト用ルート証明書のインストール
Step 5: テスト用セキュア・サーバIDのインストール
○Step 1: CSRの生成
※CSRとは、認証局に提出する署名リクエスト(Certificate Signing Request)です。
https://digitalid.verisign.co.jp/trialserver/trialStep1.htm
↑OpenSSLを利用する場合はこれでよさそう。
※今回利用するマシンは、/usr/bin/openssl にOpenSSLがインスコされていた。
CSRの生成例
# cd /usr/bin # ./openssl md5 * > rand.dat # ls -la | grep rand.dat -rw-r--r-- 1 root root 131748 9月 12 12:29 rand.dat # openssl genrsa -rand rand.dat -des3 1024 > 2007key.pem 131748 semi-random bytes loaded Generating RSA private key, 1024 bit long modulus ............++++++ ...................................++++++ e is 65537 (0x10001) Enter pass phrase:(パスワード入力。忘れないようにする) Verifying - Enter pass phrase:(パスワード入力。忘れないようにする) # ls -la | grep 2007key -rw-r--r-- 1 root root 963 9月 12 12:32 2007key.pem # openssl req -new -key 2007key.pem -out 2007csr.pem Country Name (2 letter code) [GB]:JP State or Province Name (full name) [Berkshire]:(都道府県:例 Tokyo) Locality Name (eg, city) [Newbury]:(市区町村:例 Minato) Organization Name (eg, company) [My Company Ltd]:(会社名) Organizational Unit Name (eg, section) []:(部署名) Common Name (eg, your name or your server's hostname) []:(SSL接続の際のURL:FQDN) Email Address []:(何も入力なし) Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:(何も入力なし) An optional company name []:(何も入力なし) [root@localhost bin]# cat 2007csr.pem -----BEGIN CERTIFICATE REQUEST----- MIIBwjCCASsCAQAwgYExCzAJBgNVBAYTAkpQMQ4wDAYDVQQIEwVUb2t5bzEPMA0G A1UEBxMGTWluYXRvMSMwIQYDVQQKDBpMaXZlIFJldm9sdXRpb24gQ28uLEtMCAh0 ZDEOMAwGA1UECxMFYXJpZXMxHDAaBgNVBAMTE2ZrdXNoaWcubGVpYWEuanAuanAw gZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAL6nj5rVgw3eVvpqRUWMe9WA+awY UW2ptPvR7tppRlRH3IjO6GrIiNoGjuljWtdymlHWwTYJRSFK339/hNjK3VBTU+yC 7YZKJduMxLoqWFPQHzkzgMWEHiJmPqBGbaMDr7s7YLOW3liwcB16/nRywv6T79et Z6TIrHW3VARGEY0LAgMBAAGgADANBgkqhkiG9w0BAQUFAAOBgQClgcgSgCRhKJRB 026Guy3SfBf+a1s292dj3FCekIQ7MzU3yomYlw5ZWGtvx/UBXk5sOXFFI0sBwoJ4 C5l09x7wACm8GEOfmzJJw+UtOqMcV+cF7QHMS3fY0mYr3LysxhGxEhuh29jS5klp eiFpilEx3oBr57wQviP9muc/FS6Hjg== -----END CERTIFICATE REQUEST-----
2007csr.pem => これはベリサインに申請するためのもの
2007key.pem => これは秘密鍵。大事に大事にしましょう。
※ハマリどころ
# ./openssl md5 * > rand.dat Read Error in X11 18247:error:0200B015:system library:fread:Is a directory:bss_file.c:167: 18247:error:20082002:BIO routines:FILE_READ:system lib:bss_file.c:168: [root@live-passport bin]# ls -la | grep rand.dat -rw-r--r-- 1 root root 52967 Sep 12 12:43 rand.dat
↑というエラー。でも、rand.datは生成される。
「OpenSSLの擬似乱数情報の生成について」(1) Linux Square − @IT
↑「推奨はできないが、問題ない」という話。
○Step 2: CSRの提出
https://digitalid.verisign.co.jp/trialserver/trialStep2ns.htm
Step 1で生成した 2007csr.pemの中身をコピーしてフォームに入力する。
○Step 3: 申請フォームの入力
指示に従いフォームを入力していく。
※入力が終わると、ベリサイン発行の公開鍵をゲットできる。
○Step 4: テスト用ルート証明書のインストール
申し込み後にくるメールにもURLが書かれていて、そこからでも取得できます。
○Step 5: テスト用セキュア・サーバIDのインストール
Webサーバーにより異なります。
★★方法★★
WEBrick SSL - 基本へ帰ろう
↑こちらをみて、ベリサインからゲットした公開鍵と初めに生成した秘密鍵をセットすればOK!