1 Востаннє редагувалося opendoor (16.10.2016 15:19:19)

Тема: Проблема з сертіфікатом SSL

Один и той сайт має різні домені імена , але різні сертіфікати.
До одного імені https://librasimferopol.ru/ з'єднання виконуеться нормально, а до іншого https://librakerch.ru/ видає помилку -
sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

static String USER_AGENT = "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36";
String url ="https://librakerch.ru/";
//String url ="https://librasimferopol.ru/";

        URL obj = new URL(url);
         HttpURLConnection con = (HttpURLConnection) obj.openConnection();
            con.setRequestProperty("User-Agent", USER_AGENT);
            con.setRequestProperty("Cookie", "full=1");

Нагуглив що треба додати сертіфікат, але все спроби зробит це не принесли успіху.

2 Востаннє редагувалося opendoor (26.05.2018 17:58:22)

Re: Проблема з сертіфікатом SSL

Доброго дня. Ось це мені допомогло.
Export the SSL certificate using Firefox. You can export it by hitting the URL in the browser and then select the option to export the certificate. Let's assume the cert file name is your.ssl.server.name.crt
Go to your JRE_HOME/bin or JDK/JRE/bin
Type the command
keytool -keystore ..\lib\security\cacerts -import -alias your.ssl.server.name -file .\relative-path-to-cert-file\your.ssl.server.name.crt
Restart your Java process

Останнього разу знадобилось прописати безпосередньо шлях до файлу
        String certificatesTrustStorePath = "<JRE_HOME or JDK/JRE>/bin/..libsecuritycacerts";
        System.setProperty("javax.net.ssl.trustStore", certificatesTrustStorePath);