Apache httpclient 4.x loadKeyMaterial方法已弃用,请告诉我替代方法

Apache httpclient 4.x loadKeyMaterial方法已弃用,请告诉我替代方法,apache-httpclient-4.x,Apache Httpclient 4.x,我正在使用httpclient4.5.5jar。httpclient4.4中不推荐使用loadkeyMaterial方法。请建议一些替代方案。您应该使用fromorg.apache.http.ssl.SSLContextBuilder而不是fo fromorg.apache.http.conn.ssl.SSLContextBuilder,后者已被弃用 因此,基本上更改您的导入: configureBody(request, requestData.getBody()) c

我正在使用httpclient4.5.5jar。httpclient4.4中不推荐使用loadkeyMaterial方法。请建议一些替代方案。

您应该使用from
org.apache.http.ssl.SSLContextBuilder
而不是fo from
org.apache.http.conn.ssl.SSLContextBuilder
,后者已被弃用

因此,基本上更改您的导入:

configureBody(request, requestData.getBody())
            configureHeaders(request, requestData.getHeadersAsMap())
            String keyPassphrase = "password";

            KeyStore keyStore = KeyStore.getInstance("JKS");
            keyStore.load(new FileInputStream("Resources/certificates/selfsigned.jks"), keyPassphrase.toCharArray());


            SSLContext sslContext = SSLContexts.custom().loadKeyMaterial(keyStore, "password").build(); //(keyStore, "password").build()

            HttpClient httpClient = HttpClients.custom().setSSLContext(sslContext).build();


            HttpResponse response = httpClient.execute(request, httpClientContext)

coming error:- groovy.lang.MissingMethodException: No signature of method: org.apache.http.ssl.SSLContextBuilder.loadKeyMaterial()

导入java.security.KeyStore导入javax.net.ssl.SSLContext导入org.apache.http.client.HttpClient导入org.apache.http.ssl.SSLContexts导入org.apache.http.ssl.SSLContextBuilder类HttpclientRequest{void loader(){String keypspassphrase=“password”;KeyStore KeyStore KeyStore=KeyStore.getInstance(“JKS”);KeyStore.load(新文件输入流(“Resources/certificates/selfsigned.jks”);keyPassphrase.toCharArray();SSLContext SSLContext=SSLContexts.custom().loadKeyMaterial(密钥库,“密码”).build();HttpClient HttpClient=HttpClients.custom().setSSLContext(SSLContext).build();}”
// The one deprecated to be removed from your code
//import org.apache.http.conn.ssl.SSLContextBuilder;
// The good one
import org.apache.http.ssl.SSLContextBuilder;