2006年 6月 07日 水曜日 Import Client's cert into Glassfish
Glassfishと双方向認証を行うには、クライアントが自分のkeyを生成し、それをGlassfishサーバーサイドにあるトラストストーアに導入する必要があります。 以下その手順を示します。
1.クライアント側のkeyの生成
JDK 5.0で提供されているkeytoolを使い、簡単にkeyを生成できます。
keytool -genkey -validity 10000 -alias clientkey -dname "CN=zerra, OU=JPE, O=Sun, L=HaiDian, S=Beijing, C=China" -keypass changeit -storepass changeit
2.クライアントの証明書の導出
keytool -export -alias clientkey -storepass changeit -file client.cer -keystore clientstore.jks
このコマンドにより、キー情報が中間ファイルclient.cerに保存されます。
3.クライアントの証明書の導入
keytool -import -noprompt -v -trustcacerts -alias clientkey -file client.cer -keystore ${GLASSFISH_HOME}/domains/domain1/config/cacerts.jks -storepass changeit
${GLASSFISH_HOME}が実際のインストールパスをあらわします。これで、クライアントの証明書がサーバーにあるトラストストーアに保存されました。
下のコマンドを発行し、clientkeyをgrepして確認できます。
keytool -list -v -keystore cacerts.jks -storepass changeit
別名: clientkey
作成日: 2006/06/05
エントリのタイプ: trustedCertEntry
所有者: CN=zerra, OU=JPE, O=Sun, L=HaiDian, ST=Beijing, C=China
実行者: CN=zerra, OU=JPE, O=Sun, L=HaiDian, ST=Beijing, C=China
シリアル番号: 4483a90a
有効日: Mon Jun 05 12:46:18 JST 2006 有効期限: Fri Oct 21 12:46:18 JST 2033
証明書のフィンガープリント:
MD5: 2B:A2:0C:5C:0D:D6:4C:00:09:A3:84:B0:A6:60:53:4D
SHA1: A4:CE:41:4E:12:F3:EB:29:5A:8A:A0:76:87:08:C8:0D:C5:1D:A7:E3
また、証明書をトラストストーアから削除するには、下のコマンドで消せます。
keytool -delete -alias clientkey -keystore ${GLASSFISH_HOME}/domains/domain1/config/cacerts.jks -storepass changeit
Posted by xiaojun ( 6月 07日 2006年, 11:01:34 午前 JST ) Permalink 投稿されたコメント [0]