Невозможно Хит https запросы через httpclient в Java - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь поразить динамические URL, которые могут быть http или https.Если это http, я могу нажать его. Но в случае https я получаю сообщение об ошибке. Получено фатальное предупреждение: internal_error

Я могу нажать на тот же URL-адрес с помощью почтальона и получить результаты.Кажется, это касается сертификата SSL.Но я не настроил ssl на сервере.Я нашел несколько решений, определяющих создание файла jks, но не уверен, как его создать и использовать в java.

Я получил следующий код при прохождении запроса HTTPS через HttpClient, но застрял при создании jks ихранение и последующее использование.

    KeyStore keyStore = KeyStore.getInstance("PKCS12");
        FileInputStream instream = new FileInputStream(new File("example.jks"));
        try {
            keyStore.load(instream, "password".toCharArray());
        } finally {
            instream.close();
        }

        // Trust own CA and all self-signed certs
        SSLContext sslcontext = SSLContexts.custom().loadKeyMaterial(keyStore, "password".toCharArray())
                // .loadTrustMaterial(trustStore, new TrustSelfSignedStrategy())
                .build();
        // Allow TLSv1 protocol only
        SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext, new String[] { "TLSv1" },
                null, SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER); // TODO
        CloseableHttpClient client = HttpClients.custom()
                .setHostnameVerifier(SSLConnectionSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER) // TODO
                .setSSLSocketFactory(sslsf).build();
...