【发布时间】:2016-06-03 18:28:09
【问题描述】:
应用程序运行正常,但在上传应用程序时,它在 Google Play 控制台中出现以下错误
漏洞信任管理器 要正确处理 SSL 证书验证,请更改自定义 X509TrustManager 接口的 checkServerTrusted 方法中的代码,以在服务器提供的证书不符合您的期望时引发 CertificateException 或 IllegalArgumentException。要确认您已正确更新,请将更新后的版本提交到开发者控制台并在五小时后回来查看。如果应用程序未正确升级,我们将显示警告。 如需更多信息和后续步骤,请参阅这篇 Google 帮助中心文章。
我使用以下代码进行 API 调用
DefaultHttpClient client=null;
try {
SchemeRegistry schemeRegistry = new SchemeRegistry();
// http scheme
schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
// https scheme
schemeRegistry.register(new Scheme("https", new EasySSLSocketFactory(), 443));
HttpParams mHttpParams = new BasicHttpParams();
mHttpParams.setParameter(ConnManagerPNames.MAX_TOTAL_CONNECTIONS, 30);
mHttpParams.setParameter(ConnManagerPNames.MAX_CONNECTIONS_PER_ROUTE, new ConnPerRouteBean(30));
mHttpParams.setParameter(HttpProtocolParams.USE_EXPECT_CONTINUE, false);
HttpProtocolParams.setVersion(mHttpParams, HttpVersion.HTTP_1_1);
ClientConnectionManager cm = new ThreadSafeClientConnManager(mHttpParams, schemeRegistry);
client = new DefaultHttpClient(cm, mHttpParams);
} catch (Exception e) {
e.printStackTrace();
client = new DefaultHttpClient();
}
我的网址是基于 HTTP 的 IP
我在下面使用了 X509TrustManager x509trustmanager-from-google trusting-all-certificates-using-httpclient
【问题讨论】:
-
我将首先摆脱您的
SchemeRegistryregister()呼叫和支持类(例如,EasySSLSocketFactory)。 -
@CommonsWare 不明白你的意思你能解释一下吗?
标签: android ssl x509certificate