Javaでオレオレ証明書

Axis2なんかでオレオレ証明書HTTPS接続する際にブラウザにセキュリティ証明書をインストールするだけだとダメだった。

どうやらJREオレオレ証明書を登録する必要がある。

  1. IEなどでオレオレ証明書をインストールする。
  2. IEなどから証明書をエクスポートする。
  3. JREに登録する。

以上の手順を踏む必要がる。


まずは「IEなどでオレオレ証明書をインストールする。」
これはセキュリティ警告の「証明書の表示」を押下し、証明書の「証明書のインストール」を押下してインストールします。


次に「IEなどから証明書をエクスポートする。」
これはインターネットオプションの「コンテンツ」タブの「証明書」を押下します。
すると「個人」、「ほかの人」などのタブの中に先ほどインストールした証明書があるはずです。
証明書を選択し、「エクスポート」を押下するとウィザードが表示されるので指示に従って証明書をエクスポートします。


最後に「JREに登録する。」
これはJRE標準のcacortsに証明書を登録する必要があります。
コマンドラインからkeytoolコマンドを使用して登録します。

keytool -import -trustcacerts -file (証明書のパス) -keystore (JREまでのパス)\lib\security\cacerts -storepass (パスワード)

パスワードはデフォルトは「changeit」です。


sample.cerという証明書をエクスポートしたとしてpleiadesJREに登録する場合は以下のようになります。

keytool -import -trustcacerts -file C:\sample.cer -keystore C:\pleiades\jre1.5\lib\security\cacerts -storepass changeit


「この証明書を信頼しますか?」と聞かれるので「yes」を入力して完了です。