Javaのキーストアにルート証明書を追加する
Javaは実行環境ごとにルート証明書を管理しています。そのため、オレオレ証明書を作成してOSのキーストアに登録してもJavaのプログラムからは利用できません。ここではJavaのキーストアにルート証明書を追加する方法を紹介します。
登場人物
KEYTOOL.EXE
JREのBinフォルダ内にあるプログラムです。
証明書の内容を表示することと、cacertsに登録することができます。
cacerts
ルート証明書の情報が書き込まれているファイルです。
バッチファイル
ECHO OFF CLS SET KEYTOOL="C:\Program Files\Java\jre7\bin\keytool.exe" SET CACERTS="C:\Program Files\Java\jre7\lib\security\cacerts" SET CRTFILE="C:\develop\openssl\server.crt" REM CRTファイルのバージョンを表示する。 %KEYTOOL% -printcert -file %CRTFILE% %KEYTOOL% -import -alias TestRootCA -keystore %CACERTS% -file %CRTFILE%
使用している環境に合わせてJavaのパスは修正してください。
ここではserver.crtを登録します。
TestRootCAという別名を付けて登録しています。
この処理を実行するとパスワードが聞かれます。
changeit
と入力してください。
その後で「この証明書を信頼しますか」と聞かれます。
y
と入力してください。
Javaの実行環境がProgramFiles配下の場合はコマンドプロンプトを管理者権限で起動する必要があります。