# openssl dgst -md5
/var/log/messages > rand.dat
# more rand.dat
MD5(/var/log/messages)= 61781da3ada4542d72205d9ac9cf1bb4
|
|
■独自CA用秘密鍵の作成
上記で作成したrand.datを元に独自CA用の秘密鍵を生成します。あらかじめ、適当なディレクトリを作成し、そこに秘密鍵を作成することにします。
# mkdir certs
# cd certs
# openssl genrsa -des3 -out ca.key -rand
rand.dat 1024
57 semi-random bytes loaded
Generating RSA private key, 1024 bit long
modulus
......++++++
................++++++
e is 65537 (0x10001)
Enter pass phrase for ca.key: //パスフレーズを入力する
Verifying - Enter pass phrase for ca.key:
//確認のため再度入力する |
|
秘密鍵がきちんと生成されたかどうか確認します。また、root しか読み書きができないように、パーミッションの値を適切に設定しておきます。
# more ca.key
# cp ca.key /usr/local/certs/server.key
# chmod 600 /usr/local/certs/server.key |
|
■独自CA用証明書の作成
CA用の自己署名証明書を作成します。証明書の有効期限は1年とします。
# openssl req -new
-x509 -key ca.key -out ca.crt -days 365
Enter pass phrase for ca.key: //CA用パスフレーズを入力する
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 //国名
State or Province Name (full name) [Some-State]:Ibaraki //県名
Locality Name (eg, city) []:Tsukuba //市町村
Organization Name (eg, company) [Internet
Widgits Pty Ltd]:KORORO //組織名
Organizational Unit Name (eg, section) []:KORORO //組織ユニット名
Common Name (eg, YOUR name) []:linux.kororo.jp //ホスト名
Email Address []:root@kororo.jp //管理者メールアドレス |
|
以上で設定した値を確認するには以下のコマンドを実行します。
# openssl asn1parse
-in ca.crt |
|
独自CA用証明書をコピーし、パーミッションを適切に設定しておきます。
# cp ca.crt /usr/local/certs/server.crt
# chmod 600 /usr/local/certs/server.crt |
|
■電子メール用証明書の作成
電子メールでもSSL通信をする時のために、電子メール用の証明書も作成しておきます。courier-IMAPでは、秘密鍵と証明書を別々に分けることができないので、以下のようにして、mail.pem
としてひとまとめにしておきます。
(cat server.crt ;
cat server.key) > mail.pem |
|
■ブラウザに独自CAを登録する
独自CAをブラウザ登録するには、エンコードされたder ファイルが必要になります(ca.der)。以下のようにして、ca.crt
から ca.der を作成します。
openssl x509 -inform
PEM -outform DER -in ca.crt -out ca.der |
|
■ブラウザに独自CAをインポートする
上記で作成した、ca.der をWindows 上にコピーするか、Apache のドキュメントルートにでもコピーしておきます。