Имейте проблему и нуждайтесь в помощи сообщества.
Теперь с изменениями в Google data protection Я получил предупреждение в Google Developer Console. «Предупреждение о безопасности Приложение использует небезопасную реализацию HostnameVerifier. Для получения дополнительных сведений, включая крайний срок для устранения этой уязвимости, см. Эту статью в Справке Google. Применимо к версии APK 3."Настроить HostNameVerifier для нескольких хостов и самозаверяющего сертификата
Причина, по которой я не использую HostnameVerifier правильно, заключается в том, что наша компания не может предоставить подписанный с сертификатом CA каждому нашему покупателю, который купил наш продукт. (Это необходимо для его целей, если он этого захочет) Наш продукт содержит защищенный веб-сервис (Restful API) для связи с приложением. Так что на каждой установке там генерируется новый самозаверяющими сертификат, который я должен принять через приложение, и, очевидно, самым простым решением было отключить HostnameVerifier по:
private final static HostnameVerifier DO_NOT_VERIFY = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
И доверять всем хостам:
private static void trustAllHosts() {
// Create a trust manager that does not validate certificate chains
TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return new java.security.cert.X509Certificate[] {};
}
public void checkClientTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
public void checkServerTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
} };
// Install the all-trusting trust manager
try {
SSLContext sc = SSLContext.getInstance("TLS");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection
.setDefaultSSLSocketFactory(sc.getSocketFactory());
} catch (Exception e) {
e.printStackTrace();
}
}
У кого был похожий опыт шифрования? Как мне следует продолжить в моем случае? Заранее спасибо!
Спасибо, Роберт за подробный ответ, я исследую его. Надеюсь, это поможет любому, у кого такая же проблема. – Artiom