このコードを使用して、ローカルの Trac システムからタイムライン ページをダウンロードしています。
HttpURLConnection con = (HttpURLConnection) TRAC_TIMELINE_URL.openConnection();
String userpassword = TRAC_USERNAME + ":" + TRAC_PASS;
String encodedAuthorization = new String(Base64.encodeBase64(
userpassword.getBytes(Charsets.ASCII)), Charsets.ASCII);
con.setRequestProperty("Authorization", "Basic " + encodedAuthorization);
InputStream ins = con.getInputStream();
Trac サーバーは HTTPS 経由でアクセスされますが、自己署名証明書があるため、 への呼び出しで次の例外が発生しますgetInputStream
。
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX パスの構築に失敗しました: sun.security.provider.certpath.SunCertPathBuilderException: 要求されたターゲットへの有効な証明書パスが見つかりません
それを機能させる最も速い方法は何ですか?この要求は LAN 経由で行われるため、証明書の正確性を完全に無視するだけで問題ありません。