Как обработать недействительный сертификат SSL с клиентом Apache 4.5.5?

Я пытаюсь использовать Apache Client 4.5.5 для подключения к одному из моих веб-серверов.

Я пытаюсь использовать SSLContextBuilder, но сейчас он устарел, я не хочу использовать устаревший.

Может ли кто-нибудь предложить, каков последний способ обработки недействительной сертификации?

Ниже мой код работает нормально, но SSLContext, SSLContextBuilder, loadTrustmaterial устарели.

SSLContextBuilder sscb = new SSLContextBuilder();
sscb.loadTrustMaterial(null, new org.apache.http.conn.ssl.TrustSelfSignedStrategy());
SSLContext sslContext = sscb.build();

SSLConnectionSocketFactory sslSocketFactory =
        new SSLConnectionSocketFactory(sslContext, new org.apache.http.conn.ssl.DefaultHostnameVerifier());

CloseableHttpClient httpclient = HttpClients.custom()     
        .setDefaultCredentialsProvider(credsProvider)
        .setSSLSocketFactory(sslSocketFactory)
        .setConnectionManager(connectionMgr)
        .build();        

try {
    HttpPost httppost = new HttpPost("myURL");

person Snehal    schedule 19.03.2018    source источник


Ответы (1)


Apache HttpClient 4.5.5

HttpClient httpClient = HttpClients
            .custom()
            .setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, TrustAllStrategy.INSTANCE).build())
            .setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
            .build();
person Mikhail Kholodkov    schedule 10.05.2018