SSLでセキュアなWebサイト - 鍵の作成とサイト証明書

Last Modified: 2004.02.18

2. 鍵の作成とサイト証明書
BitARTS SYSTEM DESIGN - OpenSSLのインストールとキーペアの生成を参考にさせて頂きました。
というか、そのままです。
利用したのはopenssl-0.9.6b-1。

1. 秘密鍵の生成

/etc/httpd/conf/sslの下に色々ファイルがあるが、良くわからないのでディレクトリのみここを利用。

 [root@linux /root]# cd /etc/httpd/conf/ssl
 [root@linux ssl]# openssl genrsa -des3 -rand ../httpd.conf -out key.pem 1024
 48633 semi-random bytes loaded
 Generating RSA private key, 1024 bit long modulus
 .........................++++++
 ............++++++
 e is 65537 (0x10001)
 Enter PEM pass phrase:                                                       <--- パスフレーズ入力
 Verifying password - Enter PEM pass phrase:                                  <--- パスフレーズ再入力
 [root@linux ssl]#

opensslコマンドのオプション
genrsa RSA鍵の作成
-des3 暗号化は最も強固なDES3を利用
-rand ../httpd.conf 鍵の生成用に作成するファイル。何でも良いがここではhttpd.confを指定。
-out key.pem 作成するファイル名
1024 鍵の長さ

2. パスフレーズの削除

apacheの起動時に毎回パスフレーズを聞いてこないよう、鍵からパスフレーズを削除。
セキュリティ上は甘くなります。

 [root@linux ssl]# openssl rsa -in key.pem -out key.pem
 read RSA key
 Enter PEM pass phrase:                                                       <--- パスフレーズ入力
 writing RSA key
 [root@linux ssl]#

3. CSRの作成

サイト証明書を発行するためのリクエストである、CSRを作成する。
これをVerisignなどの認証局に送るとサイト証明書が発行される。

 [root@linux ssl]# openssl req -new -days 365 -key key.pem -out csr.pem
 Using configuration from /var/ssl/openssl.cnf
 You are about to be asked to enter information that will be incorporated
 into your certificate request.
 What you are about to enter is what is called a Distinguished Name or a DN.
 There are quite a few fields but you can leave some blank
 For some fields there will be a default value,
 If you enter '.', the field will be left blank.
 -----
 Country Name (2 letter code) [AU]:JP                                         <--- 日本なのでJP
 State or Province Name (full name) [Some-State]:Tokyo                        <--- 都道府県名
 Locality Name (eg, city) []:Chuou-ku                                         <--- 区市町村名
 Organization Name (eg, company) [Internet Widgits Pty Ltd]:www.kkoba.com     <--- 会社名
 Organizational Unit Name (eg, section) []:Webmaster                          <--- セクション名
 Common Name (eg, YOUR name) []:www.kkoba.com                                 <--- ここは必ず自分のサイトを入力
 Email Address []:kkoba@kkoba.com                                             <--- メールアドレス
 
 Please enter the following 'extra' attributes
 to be sent with your certificate request
 A challenge password []:                                                     <--- Enterのみ
 An optional company name []:                                                 <--- Enterのみ
 [root@linux ssl]#

4. CSRを自分で認証

お金がないのでCSRを自分で認証

 [root@linux ssl]# openssl x509 -in csr.pem -out cert.pem -req -signkey key.pem -days 365
 Signature ok
 subject=/C=JP/ST=Tokyo/L=Chuou-ku/O=www.kkoba.com/OU=Webmaster/CN=www.kkoba.com/Email=kkoba@kkoba.com
 Getting Private key
 [root@linux ssl]#

<Prev Top Next>
Copyright(C) 2001-2003 Katsuyuki Kobayashi.
このサイトへのリンクや引用時はメール頂戴
webmaster@kkoba.com