証明書の作成
* Keytool と Openssl については、以下の関連記事を参照のことKeytoolについて
http://blogs.yahoo.co.jp/dk521123/36518468.html
http://blogs.yahoo.co.jp/dk521123/31967584.html
Opensslについて
http://blogs.yahoo.co.jp/dk521123/32723492.html
[1] サーバ側の証明書作成
* パスワードは「changeit」とする[1] キーストアを作成する => 鍵のペア(公開鍵および関連する秘密鍵)を生成し、キーストア(サーバの鍵保管庫)に格納する keytool -genkey -keystore serverKeystore.jks -alias server ※ なお、名前のところでは、ホスト名を入力しといた方がいい ■有効期限を指定する場合(下記の例は、10年) keytool -genkey -keystore serverKeystore.jks -alias server -validity 3650 [2] 手順[1]で作成したキーストアにある秘密鍵に対応する公開鍵(public key)を 証明書ファイル「server.cer」として取り出す keytool -export -keystore serverKeystore.jks -alias server -file server.cer ※ もし、証明書ファイルを、PEM形式に変換したい場合は、Opensslの以下のコマンドより可能 openssl x509 -inform DER -outform PEM -in server.cer -out server.pem [3] トラストストアを作成する(クライアントが使用する信頼できる公開鍵証明書の保管庫) keytool -import -keystore serverTruststore.jks -alias serverTruststore -file server.cer
[2] クライアント側の証明書作成
基本的に、上記「[1] サーバ側の証明書作成」でやったことと同じ(パラメータだけ違うだけ)[1] キーストアを作成する => 鍵のペア(公開鍵および関連する秘密鍵)を生成し、キーストア(サーバの鍵保管庫)に格納する keytool -genkey -keystore clientKeystore.jks -alias client ■有効期限を指定する場合(下記の例は、10年) keytool -genkey -keystore clientKeystore.jks -alias client -validity 3650 [2] 手順[1]で作成したキーストアにある秘密鍵に対応する公開鍵(public key)を 証明書ファイル「client.cer」として取り出す keytool -export -keystore clientKeystore.jks -alias client -file client.cer [3] トラストストアを作成する(サーバの証明書保管庫) keytool -import -keystore clientTruststore.jks -alias clientTruststore -file client.cer
関連記事
Tomcat
Tomcat で SSL通信 ~簡易版~
http://blogs.yahoo.co.jp/dk521123/31967584.htmlTomcat で SSL通信 ~TomcatにCSR作成と証明書を組み込む~
http://blogs.yahoo.co.jp/dk521123/32060070.htmlJava
Ant で、Keystore ファイルを作成するには ~GenKeyタスク~
http://blogs.yahoo.co.jp/dk521123/35066497.htmlJava で、SSL通信を行うには
* 今回の証明書などを使って、JavaによるSSL通信。http://blogs.yahoo.co.jp/dk521123/33122920.html
Openssl / keytool
Keytool コマンド
http://blogs.yahoo.co.jp/dk521123/36518468.htmlOpensslの設定と自己証明書作成
http://blogs.yahoo.co.jp/dk521123/32723492.htmlWindowsにおいて、Openssl を使って認証局を立てる
http://blogs.yahoo.co.jp/dk521123/33105021.htmlKeytool と Openssl を使った証明書作成
http://blogs.yahoo.co.jp/dk521123/33788938.htmlトラブルシューティング
keytoolエラーに関するトラブルシューティング
http://blogs.yahoo.co.jp/dk521123/32297632.htmlOpenssl に関するトラブルシューティング
http://blogs.yahoo.co.jp/dk521123/33100502.htmlその他
SSL通信について
* 用語をまとめている。http://blogs.yahoo.co.jp/dk521123/33100623.html