CSR作成方法
* TomcatにCSR作成 & 証明書を組み込む
前提条件
* 以下が、インストールされていること + Tomcat + JDK
大まかな手順
0) OpenSSL設定(一回のみ) 1) キーストアファイル作成 2) サーバ証明書要求(CSR)作成 3) サーバ証明書発行 4) キーストアへインポート
手順
http://blogs.yahoo.co.jp/dk521123/31967584.htmlと被る点もあるが、記載する
0) OpenSSL設定
* 以下の関連記事の「OpenSSLのインストールおよび設定」を参照のことhttp://blogs.yahoo.co.jp/dk521123/32723492.html
1) キーストアファイル作成
[1-1] コマンドプロンプトを立ち上げる [1-2] JDK に付属している keytool があるパスまで、移動する →例「cd C:\Program Files\Java\jdk1.7.0_25\bin」 [1-3] keytoolツールで、自己証明書を作成する ~~~ keytool -genkey -alias [証明書の名称] -keyalg RSA -keysize 2048 -keystore [キーストアファイル名] -validity [有効日数] ~~~ →例「keytool -genkey -alias tomcat -keyalg RSA -keysize 2048 -keystore sample.keystore -validity 365」 ※デフォルトの鍵とキーストアのパスワードは「changeit」 ※-keystoreを指定しなかった場合、 WinXPでは「C:\Documents and Settings\【ユーザ名】」の下に自己証明書「.keystore」が作成されるので 任意の場所に移動する →例「C:\pg\apache-tomcat-7.0.41\conf\StoreKey\.keystore」 ※有効日数のデフォルトは90日 ※指定したURLのホスト名(ドメイン名)と、サーバ証明書の姓名(CN)が一致させる [1-4] keytoolコマンドで作成したキーストアファイルを確認する ~~~ keytool -list -v -keystore [キーストアファイル名] -storepass [パスワード] ~~~ →例「keytool -list -v -keystore sample.keystore -storepass changeit」
2) サーバ証明書要求(CSR)作成
コマンドプロンプトをそのままで[2-1] keytoolツールで、秘密鍵ファイルから CSR を作成を作成する ~~~ keytool -certreq -sigalg SHA1withRSA -alias [証明書の名称] -file [CSRファイル名] -keystore [キーストアファイル名] ~~~ →例「keytool -certreq -sigalg SHA1withRSA -alias tomcat -file sample.csr -keystore sample.keystore」
3) 署名付きサーバ証明書を、関連する証明書署名要求に対して生成
4) キーストアへインポート
~~~ keytool -import -keystore [] -file [] -alias [] -trustcacerts ~~~ →例「keytool -import -keystore [] -file [] -alias [] -trustcacerts」
参考文献
Openssl
http://yukke.blog3.fc2.com/blog-entry-45.htmlOpenssl + keytool
http://www.ksgmt.com/article/java/javassl_clientcert.htmlhttp://www.h3.dion.ne.jp/~alpha-pz/misc2360.html
keytool
http://apis.jpn.ph/fswiki/wiki.cgi?page=Java%2Fkeytoolhttp://time-complexity.blogspot.jp/2013/12/keytool-ssl-rootCA.html
java / キーストア
http://web.plus-idea.net/2012/10/java-ssl-keystore/関連記事
Tomcat
Tomcat で SSL通信 ~簡易版~
http://blogs.yahoo.co.jp/dk521123/31967584.htmlTomcat で SSL通信 ~TomcatにCSR作成と証明書を組み込む~
http://blogs.yahoo.co.jp/dk521123/32060070.htmlJava
Java で、SSL通信を行うには
* 今回の証明書などを使って、JavaによるSSL通信。http://blogs.yahoo.co.jp/dk521123/33122920.html
Openssl / keytool
Opensslの設定と自己証明書作成
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