问题描述
由于安全问题:TrustManager和HostnameVerifier,我的android Apk已从Google Play商店删除。收到Google的第一条消息(请参阅屏幕截图)后,我注意到apk版本是apk5。我已将以下与trustmanager和HostnameVerifier相关的代码删除到我的项目中
@SuppressLint("TrulyRandom")
public static void handleSSLHandshake() {
try {
TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[0];
}
@Override
public void checkClientTrusted(X509Certificate[] certs,String authType) {
}
@Override
public void checkServerTrusted(X509Certificate[] certs,String authType) {
}
}};
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null,trustAllCerts,new SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String arg0,SSLSession arg1) {
return true;
}
});
} catch (Exception ignored) {
}
}
,我已经提交了更新。但Google仍拒绝我的更新。问题是,我总是收到与apk版本5相关的消息,并存在相同的安全问题,或者我上一次尝试更新的版本是apk版本18。
有什么主意吗?
Screenshot of message when app deleted
Screenshot of the last message from Google related to my last update
解决方法
您是否使用与先前的APK
相同的密钥对APK
进行了签名?
嗨,您收到了Google小组的电子邮件,似乎内部测试部分有一个APK版本代码5。即使该apk被标记为“已停用”,它仍处于活动状态,因此未验证我在生产部分中的更新。 所以这就是我所做的:
- 将更新apk上载到内部测试部分。这将停用apk版本代码5
- 当更新顺利进行时,将自动验证我在生产部分的最后一次更新尝试。