Как обработать недействительный сертификат 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");
1 ответ
Apache HttpClient 4.5.5
HttpClient httpClient = HttpClients
.custom()
.setSSLContext(new SSLContextBuilder().loadTrustMaterial(null, TrustAllStrategy.INSTANCE).build())
.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE)
.build();