Si vous souhaitez utiliser l'APK en dehors du Google Play Store, par exemple, une solution privée comme celle-ci fonctionnera probablement:
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
/*...*/
handler.proceed();
}
Si vous souhaitez ajouter une couche de sécurité facultative supplémentaire, vous pouvez essayer d'utiliser l' épinglage de certificat . IMHO ce n'est pas nécessaire pour un usage privé ou interne difficile.
Si vous prévoyez de publier l'application sur le Google Play Store, vous devez éviter @Override onReceivedSslError (...) {...}. Surtout en utilisant handler.proceed (). Google trouvera cet extrait de code et rejettera votre application à coup sûr puisque la solution avec handler.proceed () supprimera toutes sortes de mécanismes de sécurité intégrés .
Et ce n'est pas parce que les navigateurs ne se plaignent pas de votre connexion https que cela signifie que le certificat SSL lui-même est digne de confiance!
Dans mon cas, la chaîne de certificats SSL était rompue. Vous pouvez tester rapidement ces problèmes avec SSL Checker ou plus intermédiaire avec SSLLabs . Mais ne me demandez pas comment cela peut arriver. Je n'ai absolument aucune idée.
Quoi qu'il en soit, après la réinstallation du certificat SSL, toutes les erreurs concernant le " certificat SSL non approuvé dans WebView que ce soit " ont finalement disparu. J'ai également supprimé le @Override pour onReceivedSslError (...) et me suis débarrassé de handler.proceed () , et voila mon application n'a pas été rejetée par Google Play Store (encore une fois).