请帮助,我在MainApplication.java文件中有下面的实现。我正在检查固定主机名,然后相应地返回true或false。
错误不安全主机名验证器
您的应用程序正在使用主机名验证器的不安全实现。有关详细信息,请参阅谷歌帮助中心的文章,包括修复漏洞的截止日期。
Ld/A/c/e$1;Ld/A/c/f$1;sv:截止日期:12/10/2020
@Override
public void onCreate() {
super.onCreate();
hostnameVerifier();
MobileCore.setApplication(this);
SoLoader.init(this, /* native exopackage */ false);
ReactNativeFirebaseApp.setApplicationContext(this);
}
private void hostnameVerifier(){
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String arg0, SSLSession arg1) {
String hostList[] = {"in.appcenter.ms", "graph.facebook.com",
"assets.adobedtm.com", "codepushupdates.azureedge.net", "app-measurement.com",
"forter.com", "dmn1", "dmn2", "dmn3", "quantummetric.com", "urbanairship.com", "demdex.net", "search.unbxd.io",
"monetate.net", "bazaarvoice.com", "google.com", "stylitics.com", "getcandid.com","braintreegateway.com"
};
for (String host : hostList) {
if (host.contains(arg0) || arg0.endsWith(host)) {
return true;
}
}
return false;
}
});
}我该换什么,请帮忙。
发布于 2021-03-19 17:02:25
在google控制台上,转到发布管理->,选择apk版本的->安全选项卡。在这里,您将在代码中看到带有apk和类的安全问题列表,这些问题在任何可能的情况下都会导致安全问题。
如果您没有看到类名,而是在安全警告消息中看到一些编码代码,请通过禁用您可能使用的任何代码压缩工具来上载另一个构建。在我的例子中,它是pro卫兵,我禁用了它并获得了库名。在我的例子中,FYI - THe库是天才。
发布于 2021-02-15 08:19:34
安全警报是正确的。您的代码使用户面临风险,应该从App中拒绝。
你为什么要用这个代码?删除它,只有当您获得有效证书时才连接到服务器。
https://stackoverflow.com/questions/65350201
复制相似问题