apache-httpclient-4.x - loadKeyMaterial 方法已弃用,请告诉我替代方法
问题描述
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()
我正在使用 httpclient4.5.5 jar。httpclient4.4 中不推荐使用 loadkeyMaterial 方法。请提出一些替代方案。
解决方案
您应该使用不推荐使用的loadKeyMaterial来org.apache.http.ssl.SSLContextBuilder
代替 fo org.apache.http.conn.ssl.SSLContextBuilder
。
所以,基本上改变你的进口:
// 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;
推荐阅读
- c# - Xamarin IOS 应用程序连接到 IP 地址但不是域名
- python - Scrapy - href 链接中的简单文本刮刀
- select - 根据条件 SAS 创建宏变量
- c++ - 在运行时读取 libstdc++ 版本
- c# - 二维布尔数组上的 SerializedObject.FindProperty() 返回 null
- php - 我如何改变 Ran 的值?在 laravel 中将表 N 迁移到 Y
- ios - React-Native iOS 参考 xcassets 图像大小错误
- android - 从 Kotlin 中的 onBindViewHolder 检索变量
- sql - SQL 更新引用表中的值
- c# - 从类创建的角度来看,托管资源与非托管资源