JavaにSSL証明書を追加する

この記事は最終更新日から5年以上が経過しています。

はじめに

社内等の開発環境のSSLで、所謂オレオレ証明書を使用していることは多いかと思います。
こうした環境を使用する場合、例えば

  • ローカルPCのTomcat上のWEBアプリからHTTPSで通信するとSSLHandshakeExceptionなどが発生して困る

という事態が起きるので、Javaにこのオレオレ証明書を追加することになるわけです。
何回か作業してるんですが、追加し終わるとすぐ手順を忘れるので、メモっておくことにします。

※ Macを使った手順ですが、Windowsでも大差ないはずです。

オレオレ証明書をDLする

FireFoxを使った手順です。

  1. オレオレ証明書を使ったサイトを表示する
  2. URLの横にある鍵アイコンを押す
  3. 「詳細を表示」ボタンを押す
  4. ページ情報のダイアログが表示され「セキュリティ」タブが表示されていることを確認する
  5. 「証明書を表示」ボタンを押す
  6. 証明書ビューアが開くので、「詳細」タブを選択する

  7. 「書き出す」ボタンを押下して、適当な名前で証明書を保存する

今回は、/Users/neno2000/Documents/hogecertsとして保存した前提で、話を進めます。

keytoolを使用して証明書を追加する

証明書は

${JAVA_HOME}/jre/lib/security/cacerts

に追加することになります。
※ ${JAVA_HOME}の部分は証明書を追加したいJDKのディレクトリに置き換えてください。

今回は、以下に追加を行う想定で説明します。

/Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home/jre/lib/security/cacerts

基本的には

  • 先ほどDLしたオレオレ証明書を
  • keytoolを使用して
  • ${JAVA_HOME}/jre/lib/security/cacertsに突っ込む

というコマンドを一発叩くだけです。

今回の場合だと、以下の様なコマンドになります。

sudo keytool -import -trustcacerts -file /Users/nenokido2000/Documents/hogecerts -keystore /Library/Java/JavaVirtualMachines/jdk1.7.0_67.jdk/Contents/Home/jre/lib/security/cacerts -alias ca

※ sudoしてますが、Windowsだと必要無いですね。

keytoolが「キーストアのパスワードを入力してください」と要求してくるので、デフォルトの「changeit」を入力してください。

ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
コメント
この記事にコメントはありません。
あなたもコメントしてみませんか :)
すでにアカウントを持っている方は
ユーザーは見つかりませんでした