Android DefaultHttpClient accepter tous les certificats SSL session aider
Je suis tente de se connecter à un serveur HTTPS à l'aide de l'apache DefaultHttpClient sur un appareil Android.
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://192.168.1.121:4113/services");
... header and content filling in ...
HttpResponse response = httpclient.execute(httppost);
J'obtiens une erreur de "javax.net.ssl SSLException: Pas de confiance certificat de serveur" lorsque la .exécuter des pistes. Je veux simplement permettre à tout certificat de travail, peu importe si elle est ou n'est pas dans l'android la chaîne de la clé.
J'ai passé environ 40 heures de recherches et essayer de trouver une solution de contournement pour ce problème. J'ai vu de nombreux exemples de comment faire, mais aucun à ce jour ont travaillé dans Android; ils semblent ne fonctionnent que pour le JAVA. Personne ne sait comment les configurer, ou d'annuler la validation du certificat utilisé par le serveur Apache HttpClient dans Android, de sorte que ce sera juste d'approuver tous les certificats pour un DefaultHttpClient connexion?
Je vous remercie pour votre aimable réponse
OriginalL'auteur w.donahue | 2010-10-06
Vous devez vous connecter pour publier un commentaire.
Si quelqu'un est encore à essayer de comprendre ce que j'ai fini par aller avec la solution ici:
HTTPS (SSL) avec Android et l'auto-signé le certificat de serveur
Faites défiler jusqu'à la solution par SimonJ. C'est une simple solution de ce problème.
OriginalL'auteur w.donahue
Oeil à ce tutoriel http://blog.antoine.li/index.php/2010/10/android-trusting-ssl-certificates/
Le tutoriel est basé sur Apache HttpClient et explique comment utiliser le SSLSocketFactory à faire confiance à la définition de certificats dans votre propre fichier de clés (également expliqué comment vous pouvez le créer avec le BouncyCastle fournisseur).
Je l'ai testé et il fonctionne très bien. À mon avis, c'est la manière sûre.
Je vois. De commutation et de la plaine de vieux java.net les bibliothèques n'est pas une option pour vous? Avec ceux que vous pouvez facilement accepter tous les certificats. Peut-être que cela aide: stackoverflow.com/questions/2703161/... N'essayez pas.
Juste oublié de mentionner: mobile.synyx.de/2010/06/... Ce mec est ici mise en œuvre d'un propre SSLSocketFactory, qui doit accepter toutes les auto-signé certs.
OriginalL'auteur saxos