W przypadku, gdy chcesz korzystać z APK poza Sklepem Google Play, np. Prywatne rozwiązanie takie jak poniższe prawdopodobnie zadziała:
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
handler.proceed();
}
Jeśli chcesz dodać dodatkową opcjonalną warstwę zabezpieczeń, możesz spróbować skorzystać z przypinania certyfikatu . IMHO nie jest to konieczne do trudnego użytku prywatnego lub wewnętrznego.
Jeśli planujesz opublikować aplikację w sklepie Google Play, powinieneś unikać @Override onReceivedSslError (...) {...}. Szczególnie przy użyciu handler.proceed (). Google znajdzie ten fragment kodu i na pewno odrzuci Twoją aplikację, ponieważ rozwiązanie z funkcją handler.proceed () zablokuje wszelkiego rodzaju wbudowane mechanizmy bezpieczeństwa .
I tylko dlatego, że przeglądarki nie narzekają na twoje połączenie https, nie oznacza to, że sam certyfikat SSL jest w ogóle zaufany!
W moim przypadku łańcuch certyfikatów SSL został zerwany. Możesz szybko przetestować takie problemy za pomocą SSL Checker lub bardziej średniozaawansowanych z SSLLabs . Ale proszę, nie pytaj mnie, jak to się może stać. Nie mam pojęcia.
W każdym razie, po ponownej instalacji certyfikatu SSL, wszystkie błędy dotyczące „ niezaufanego certyfikatu SSL w ogóle w WebView ” w końcu zniknęły. Usunąłem również @Override dla onReceivedSslError (...) i pozbyłem się handler.proceed () , a é voila, moja aplikacja nie została odrzucona przez Sklep Google Play (ponownie).