Я использую этот код для загрузки страницы временной шкалы из нашей локальной системы 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: не удалось найти действительный путь сертификации для запрошенной цели
Какой самый быстрый способ заставить это работать? Я в порядке, просто полностью игнорируя правильность сертификата, потому что этот запрос будет сделан по локальной сети.