ejbcaコマンドはGlassfishが起動している必要があります。
1.AdminCAのルート証明書をExportする
> ejbca ca getrootcert AdminCA ca.der -der2.サーバのKeyStoreを設定する
glassfishを停止させて、AdminCAを信用して(cacerts.jksにインポート)、サーバ証明書を初期設定の自己署名のものからAdminCAのものに挿げ替えます。
> set CONF_DIR=%APPSRV_HOME%\domains\domain1\config
> asadmin stop-domain
> keytool -delete -v -keystore "%CONF_DIR%\cacerts.jks" -alias s1as -storepass changeit
> keytool -import -v -noprompt -keystore "%CONF_DIR%\cacerts.jks" -file .\ca.der -alias s1as -storepass changeit
> keytool -changealias -alias %SERVER_NAME% -destalias s1as -storepass changeit -keystore .\p12\s1as.jks
> copy /Y /B .\p12\s1as.jks "%CONF_DIR%\keystore.jks"3行目で自己署名のCAを削除して4行目でCAをインポートしています。
証明書の管理に専念させるため、他のCAを信用しないようにしておいた方がいいので、その場合は、3,4行目の代わりに、
> copy /Y /B "%EJBCA_HOME%\p12\truststore.jks" "%CONF_DIR%\cacerts.jks"5行目の%SERVER_NAME%は、そのままサーバ名です。
Glassfish側のサーバ証明書参照エイリアスの設定を変えても構わないんですが、ここではEJBCA側に変更部分を集めてみました。
4.Glassfishのクライアント証明書要求を設定する
素の設定でGlassfishをインストールしているなら、管理画面(http;//localhost:4848/)の「設定」→「HTTPサービス」→「HTTPリスナー」→「http-listener-2」の「SSL」タブの「クライアント認証」にチェックを入れる。
で、Glassfishを再起動する。
5.管理用ブラウザにクライアント証明書をImportする
"%EJBCA_HOME%\p12\superadmin.p12これをインポートして初めて、EJBCAの管理画面にログインできます。
(2009/11/16 10:45)
