应用程序运行良好,当上传应用程序时,在Google中出现以下错误
若要正确处理SSL证书验证,请将自定义接口的checkServerTrusted方法中的代码更改为在服务器提供的证书不符合您的期望时引发CertificateException或IllegalArgumentException。要确认您的更新是否正确,请将更新版本提交给开发人员控制台,并在5个小时后进行检查。如果应用程序没有被正确升级,我们将显示一个警告。有关更多信息和下一步步骤,请参阅谷歌帮助中心这篇文章。
我使用了下面的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();
}我的url是一个基于HTTP的IP
我使用了下面的X509TrustManager X509信任管理器来自-google 信任所有证书使用-httpclient
发布于 2016-06-07 05:24:00
最后一个问题是由于ACRA,我已经删除了ACRA & Finally
在google 回答上成功上传应用程序
发布于 2016-06-03 18:52:59
这是一个警告,您使用不安全的X509TrustManager和空的checkClientTrusted()和checkServerTrusted()方法。这些方法假设检查客户端和服务器证书作为HTTPS合同的一部分,如果给定的证书无效,则抛出异常。通过将这些方法保持为空,您可能会破坏整个HTTPS的安全性,因为您的代码将接受任何证书。例如,您的应用程序容易受到一个在中间进攻的人的攻击。这样的空实现几乎与普通的HTTP实现相同。
使用SSLSocketFactory.getSocketFactory()而不是new EasySSLSocketFactory()可以解决这个问题。您的应用程序连接的服务器必须有一个有效的CA签名证书.
https://stackoverflow.com/questions/37621202
复制相似问题