Dies ist das erste Mal, dass ich eine Anwendung im Play Store veröffentliche und meine App abgelehnt wird.So reparieren Sie Apps, die eine unsichere Implementierung von TrustManager enthalten, checkSerververstusted
Dies ist die Nachricht von Google Play:
Wie Anwendungen beheben eine unsichere Implementierung von Trustmanager enthält. ...
SSL-Zertifikatüberprüfung zu umgehen Um richtig, Ihren Code in der Methode checkServerTrusted ändern Ihrer benutzerdefinierten X509TrustManager Schnittstelle zu Erhöhung entweder CertificateException oder Illegal, wenn das Zertifikat vom Server präsentiert nicht Ihren Erwartungen
Das ist meine Gewohnheit Trust:
public static OkHttpClient getUnsafeOkHttpClient(final X509TrustManager tm) {
try{
//Create a trust manager taht does not validate certificate chains
final TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
try{
tm.checkClientTrusted(chain, authType);
}catch (CertificateException ce){}
}
@Override
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException{
if(chain == null || chain.length == 0)throw new IllegalArgumentException("certificate is null or empty");
if(authType == null || authType.length() == 0) throw new IllegalArgumentException("authtype is null or empty");
if(!authType.equalsIgnoreCase("RSA"))throw new CertificateException("certificate is not trust");
tm.checkServerTrusted(chain,authType);
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return tm.getAcceptedIssuers();
}
}};
ich muss chekcServerTrusted implementieren Methode habe ich mehrere Implementierungen versucht, aber meine App wird immer abgelehnt.
Bitte helfen Sie oder schlagen Sie die Probleme vor.