LoginSignup
13
14

More than 1 year has passed since last update.

JREにSSL証明書をインポートする(Windows編)

Last updated at Posted at 2018-10-19

Javaプログラムから https などのSSLサイトへアクセスするプログラムを実行した時、自己証明書などpublicな証明書でない場合は SSLHandshakeException が発生すると思います。
その場合は実行する JRE に該当のSSL証明書をインポートすれば解決します。

SSL証明書をエクスポートする

証明書ファイルが既に手元にある場合、この手順はスキップしてください

  • ブラウザの鍵マークをクリック
  • SSL証明書をエクスポートする(細かい手順はブラウザによって異なるので省略)
  • 拡張子 cer のファイルとしてエクスポートされる

証明書の格納先

JRE の証明書情報は次のファイルに格納されている。
{JAVA_HOME}\jre\lib\security\cacerts
(例)C:\Program Files\Java\jdk1.8.0_171\jre\lib\security\cacerts

コマンドプロンプトを起動する

Program Files 配下のファイルを変更するため、管理者権限が必要
アイコンを右クリックして「管理者として実行」からコマンドプロンプトを実行する
(管理者権限が不要なパスに JDK がインストールされていれば通常起動でもいけるはずだが、未確認)

インポートコマンドを実行する

次のコマンドをコマンドプロンプトから実行すると、証明書がインポートされる

コマンドの書式

keytool は JDK に含まれているので {JAVA_HOME}\bin にPATHが通っているか keytool.exe のフルパスを指定する必要がある

コマンドプロンプト
keytool -import -trustcacerts -file [cerファイルのパス] -keystore [cacertsのパス] -alias ca

コマンド例

コマンドプロンプト
keytool -import -trustcacerts -file "C:\dev\cert\hoge.cer" -keystore "C:\Program Files\Java\jdk1.8.0_171\jre\lib\security\cacerts" -alias ca

実行

キーストアのパスワードを求められるので、デフォルトの「changeit」を入力する
最後に信頼するか聞かれるので「y」を入力する

コマンドプロンプト
キーストアのパスワードを入力してください:
所有者: CN=fujimic.com
発行者: CN=fujimic.com
シリアル番号: 9xxxxxxxxxxxxxx4
有効期間の開始日: Wed Dec 20 17:35:48 JST 2017 終了日: Tue Dec 15 17:35:48 JST 2037
証明書のフィンガプリント:
         MD5:  9D:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:B9
         SHA1: E1:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:DE
         SHA256: 3A:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:56
署名アルゴリズム名: SHA256withRSA
サブジェクト公開鍵アルゴリズム: 2048ビットRSA鍵
バージョン: 3

拡張:

#1: ObjectId: 2.x.xx.19 Criticality=false
BasicConstraints:[
  CA:true
  PathLen:2xxxxxxxx7
]

#2: ObjectId: 2.x.xx.15 Criticality=false
KeyUsage [
  Key_CertSign
]

この証明書を信頼しますか。 [いいえ]:  y
証明書がキーストアに追加されました

これで自己証明書でもアクセスできるようになったはずです!

13
14
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
14