【发布时间】:2019-07-14 07:34:45
【问题描述】:
我正在处理一个需要使用允许所有证书进行一次调用的项目,每当我尝试设置 sslSocketFactory 时,我都会收到一个指示 ExceptionInInitializerError 的错误。
我搜索了 SO 并找到了 this 问题,但它并没有为我解决问题; this Git issue 相同。
我的示例代码如下:
X509TrustManager trustManager = new X509TrustManager() {
public void checkClientTrusted(X509Certificate[] xcs, String string)
throws CertificateException {}
public void checkServerTrusted(X509Certificate[] xcs, String string)
throws CertificateException {}
public X509Certificate[] getAcceptedIssuers() {
return null;
}
};
SSLContext sslContext;
SSLSocketFactory sslSocketFactory = null;
try {
sslContext = SSLContext.getInstance("TLS");
sslContext.init(null, new TrustManager[]{trustManager}, null);
sslSocketFactory = sslContext.getSocketFactory();
} catch (Exception e){
e.printStackTrace();
}
OkHttpClient client = new OkHttpClient.Builder().sslSocketFactory(sslSocketFactory,
trustManager).addInterceptor(interceptor).build();
为什么当发送的参数都有效且不为空时,我会收到错误消息?
【问题讨论】:
标签: java android x509certificate okhttp3