Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 由于http信任管理器,应用被google play拒绝_Android_Google Play_Ssl Certificate_Release_Trustmanager - Fatal编程技术网

Android 由于http信任管理器,应用被google play拒绝

Android 由于http信任管理器,应用被google play拒绝,android,google-play,ssl-certificate,release,trustmanager,Android,Google Play,Ssl Certificate,Release,Trustmanager,我能够构建发布版apk,经过测试,一切正常。但是,当我将其上载到Play Store时,由于某些恶意行为,它被拒绝 服务器连接代码: HostnameVerifier hostnameVerifier = org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER; DefaultHttpClient client = new DefaultHttpClient(); SchemeRegistry registry

我能够构建发布版apk,经过测试,一切正常。但是,当我将其上载到Play Store时,由于某些恶意行为,它被拒绝

服务器连接代码:

HostnameVerifier hostnameVerifier = org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER;
DefaultHttpClient client = new DefaultHttpClient();

SchemeRegistry registry = new SchemeRegistry();
SSLSocketFactory socketFactory = SSLSocketFactory.getSocketFactory();
socketFactory.setHostnameVerifier((X509HostnameVerifier) hostnameVerifier);
registry.register(new Scheme("https", socketFactory, 443));
SingleClientConnManager mgr = new SingleClientConnManager(client.getParams(), registry);
DefaultHttpClient httpClient = new DefaultHttpClient(mgr, client.getParams());

// Set verifier
HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier);
build.gradle:

implementation 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
谷歌播放拒绝错误消息:

The app uses software that contains security vulnerabilities for users or allows the collections of user data without proper disclosure.
尝试在代码中搜索“TrustManager”,如果找不到,大多数情况下是因为包含了第三方库


可能是因为使用了gradle中任何库的旧版本

您的代码正在禁用SSL主机名验证,引用屏幕截图中的链接

在建立到远程主机的HTTPS连接时忽略所有SSL证书验证错误,从而使您的应用容易受到中间人攻击。攻击者可以读取传输的数据(如登录凭据),甚至更改HTTPS连接上传输的数据


这是一个安全漏洞-正如Commonware所指出的,您应该删除问题中的所有代码。如果您这样做是因为以前遇到了SSL验证错误,那么以下是SSL验证中的一些常见问题,以及有关如何解决这些问题的信息。

“有人能给我解决此问题的确切解决方案吗?”--删除问题中第一个代码段中的所有代码。这就是为什么不应该设置
ALLOW\u ALL\u HOSTNAME\u VERIFIER