Google сообщила, что у меня есть небезопасная реализация интерфейса X509TrustManager в приложении для Android и мне нужно изменить свой код следующим образом:
Чтобы правильно обрабатывать SSL-сертификат, измените код в checkServerTrusted метод вашего пользовательского интерфейса X509TrustManager для поднять либо CertificateException, либо IllegalArgumentException всякий раз сертификат, представленный сервером, не соответствует вашему ожидания. По техническим вопросам вы можете отправлять сообщения в Qaru и используйте теги "android-security" и "TrustManager".
Как можно изменить следующий код, чтобы исправить вышеупомянутую проблему?
public EasySSLSocketFactory(KeyStore truststore) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException {
super(truststore);
TrustManager tm = new X509TrustManager() {
public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}
public X509Certificate[] getAcceptedIssuers() {
return null;
}
};
mContext.init(null, new TrustManager[] { tm }, null);
}