Windowsでは、最も簡単な方法はportecleプログラムを使用することです。
- portecleをダウンロードしてインストールします。
- まず、プログラムの実行にどのJREまたはJDKが使用されているかを100%確認します。64ビットのWindows 7では、かなりの数のJREが存在する可能性があります。Process Explorerがこれを支援するか、以下を使用できます。
System.out.println(System.getProperty("java.home"));
- ファイルJAVA_HOME \ lib \ security \ cacertsを別のフォルダにコピーします。
- Portecleで、[ファイル]> [キーストアファイルを開く]をクリックします。
- cacertsファイルを選択します
- このパスワードを入力してください:changeit
- [ツール]> [信頼できる証明書のインポート]をクリックします
- ファイルmycertificate.pemを参照します。
- インポートをクリックします
- 信頼パスに関する警告に対して[OK]をクリックします。
- 証明書の詳細が表示されたら、[OK]をクリックします。
- 「はい」をクリックして、証明書を信頼できるものとして受け入れます。
- エイリアスが要求されたら、[OK]をクリックし、証明書をインポートしたと表示されたら、もう一度[OK]をクリックします。
- 保存をクリックします。これを忘れないでください。変更が破棄されます。
- 見つけた場所にcacertsファイルをコピーします。
Linuxの場合:
次のように、SSL証明書をすでに使用しているWebサーバーからダウンロードできます。
$ echo -n | openssl s_client -connect www.example.com:443 | \
sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/examplecert.crt
必要に応じて、証明書情報を確認します。
$ openssl x509 -in /tmp/examplecert.crt -text
証明書をJava cacertsキーストアにインポートします。
$ keytool -import -trustcacerts -keystore /opt/java/jre/lib/security/cacerts \
-storepass changeit -noprompt -alias mycert -file /tmp/examplecert.crt
Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider())
は最初の部分では完全に不要です。2番目は証明書の検証を行いません。URLConnection
まずはプレーンで試してください。あなたは、あなたが変更した確信しているcacerts
中でlib/security
、あなたのJREをインストールしましたか?trustmanager
デバッグオプションを試しましたか?