我在提交应用时遇到了问题。 我已经完成了如下的Volley设置,但Play商店出现了拒绝。
的HostnameVerifier
您的应用正在使用HostnameVerifier接口的不安全实现。您可以在此Google帮助中心文章中找到有关如何解决问题的详细信息。
RequestQueue queue = Volley.newRequestQueue(Services.this, new HurlStack(null, newSslSocketFactory()));
// Request a string response from the provided URL.
try {
final ProgressDialog pDialog = new ProgressDialog(Services.this);
pDialog.setMessage("Wainting ...");
pDialog.show();
String url = "https://sitesecurity.com";
StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>(){
@Override
public void onResponse(String response) {
}
private SSLSocketFactory newSslSocketFactory() {
try {
HttpsURLConnection.setDefaultHostnameVerifier(new HttpsTrustManager());
SSLContext context = SSLContext.getInstance("TLS");
context.init(null, new X509TrustManager[]{new DadosConsultaPerto.NullX509TrustManager()}, new SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(context.getSocketFactory());
SSLSocketFactory sf = context.getSocketFactory();
return sf;
} catch (Exception e) {
throw new AssertionError(e);
}
}
我尝试了几种方法,但错误仍然存在。
漏洞APK版本截止日期 的HostnameVerifier
您的应用正在使用HostnameVerifier接口的不安全实现。您可以在此Google帮助中心文章中找到有关如何解决问题的详细信息。 2017年3月1日
答案 0 :(得分:1)
删除newSslSocketFactory()
并在HurlStack
构造函数调用中停止引用它。这就是你以完全不安全的方式使用HostnameVerifier
的地方。
我的猜测是HttpsTrustManager
为this one,这也是完全不安全的,会导致您的应用被禁止进入Play商店。删除newSslSocketFactory()
也可以解决该问题。
答案 1 :(得分:0)
首先选择apk版本,然后在“警报”(发布前的报告)中,选择安全性和信任关系,并在详细信息中找到受影响的类。