


Comment puis-je résoudre les erreurs « Exception SSL : certificat de serveur non approuvé » sur Android ?
Dec 27, 2024 pm 03:06 PMComprendre les problèmes de connexion HTTPS sur Android
Lorsque vous essayez d'établir une connexion HTTPS sur Android, vous pouvez rencontrer une « exception SSL : non fiable erreur de certificat de serveur". Cette erreur se produit généralement lors de l'utilisation de certificats auto-signés ou de certificats non fiables.
Contourner la vérification du certificat
Une méthode pour résoudre ce problème consiste à désactiver la vérification du certificat. Cette approche compromet toutefois la sécurité en autorisant les connexions à des serveurs non fiables. L'extrait de code suivant de The Java Developers Almanac montre comment faire confiance à tous les hôtes et contourner la vérification des certificats :
// Create a trust manager that does not validate certificate chains TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { @Override public java.security.cert.X509Certificate[] getAcceptedIssuers() { return new java.security.cert.X509Certificate[] {}; } @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {} @Override 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(); }
Gestion conditionnelle basée sur le protocole
Vous pouvez également gérer la connexion de manière conditionnelle en fonction du protocole, comme indiqué dans le code suivant extrait :
if (url.getProtocol().toLowerCase().equals("https")) { trustAllHosts(); HttpsURLConnection https = (HttpsURLConnection) url.openConnection(); https.setHostnameVerifier(DO_NOT_VERIFY); http = https; } else { http = (HttpURLConnection) url.openConnection(); }
En suivant ces approches, vous pouvez établir des connexions HTTPS et contourner la vérification du certificat, mais il est important de noter que cela compromet la sécurité et doit être utilisé avec prudence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Comment fonctionne le mécanisme de chargement de classe de Java, y compris différents chargeurs de classe et leurs modèles de délégation?

Comment utiliser Maven ou Gradle pour la gestion avancée de projet Java, la création d'automatisation et la résolution de dépendance?

Top 4 frameworks JavaScript en 2025: React, Angular, Vue, Svelte

Comment puis-je implémenter des techniques de programmation fonctionnelle en Java?

Node.js 20: Boosts de performances clés et nouvelles fonctionnalités

Iceberg: L'avenir des tables de Data Lake

Comment puis-je utiliser JPA (Java Persistance API) pour la cartographie relationnelle des objets avec des fonctionnalités avancées comme la mise en cache et le chargement paresseux?

Comment implémenter la mise en cache à plusieurs niveaux dans les applications Java à l'aide de bibliothèques comme la caféine ou le cache de goyave?
