Предупреждение от Google PlayStore "небезопасная реализация HTTP-клиента Apache X509TrustManager"
Я применил следующий код для проверки SSL-сертификата на сервере и запуска приложения с использованием безопасного соединения HTTPS. Мой сервер уже имеет сертификат, выданный авторизованным центром сертификации.
Ниже приведен фрагмент моего кода.
CertificateFactory cf = CertificateFactory.getInstance("X.509");
InputStream caInput = getResources().openRawResource(R.raw.certificate)
Certificate ca;
try {
ca = cf.generateCertificate(caInput);
System.out.println("ca=" + ((X509Certificate) ca).getSubjectDN());
} finally {
caInput.close();
}
String keyStoreType = KeyStore.getDefaultType();
KeyStore keyStore = KeyStore.getInstance(keyStoreType);
keyStore.load(null, null);
keyStore.setCertificateEntry("ca", ca);
String tmfAlgorithm = TrustManagerFactory.getDefaultAlgorithm();
TrustManagerFactory tmf = TrustManagerFactory.getInstance(tmfAlgorithm);
tmf.init(keyStore);
SSLContext context = SSLContext.getInstance("TLS");
context.init(null, tmf.getTrustManagers(), null);
URL url = new URL(webserviceurl);
HttpsURLConnection urlConnection=
urlConnection.setSSLSocketFactory(context.getSocketFactory());
InputStream in = urlConnection.getInputStream();
Предупреждение получено в PlayStore
"В вашем приложении используется небезопасная реализация интерфейса X509TrustManager с HTTP-клиентом Apache, что приводит к уязвимости системы безопасности. Подробные сведения см. В этой статье Справочного центра Google, включая крайние сроки устранения этой уязвимости".
Ранее я также пытался использовать TRUST MANAGER x509, но вывел то же самое предупреждение. Может кто-нибудь помочь мне выбраться из этого предупреждения из playstore?