EJBCA:セットアップ 4.利用のための設定 | 熱脳しゃちょのブログ

熱脳しゃちょのブログ

おせっかい焼SE兼プログラマ兼……の辛い日々と、思う事なぞ

0.その前に
ejbcaコマンドはGlassfishが起動している必要があります。

1.AdminCAのルート証明書をExportする
> ejbca ca getrootcert AdminCA ca.der -der

2.サーバの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_ssl_setting


で、Glassfishを再起動する。

5.管理用ブラウザにクライアント証明書をImportする
"%EJBCA_HOME%\p12\superadmin.p12
が、スーパーアドミンのクライアント証明書です(読んだままですがw)。
これをインポートして初めて、EJBCAの管理画面にログインできます。

(2009/11/16 10:45)