avr 20 2009

[Java] Apache HttpClient et SSL non valide

Catégorie(s): DéveloppementSébastien @ 20:48

Dans une partie de l’application sur laquelle je bosse actuellement, je dois interroger un site via le protocole HTTP et HTTPS. Pour cela, on m’a conseillé la classe HttpClient développée par Apache. Très bon conseil : elle fait vraiment bien son boulot et est très simple à prendre en main. Mais dès que je suis passé en HTTPS, je me suis retrouvé avec une jolie erreur : « SSLPeerUnverifiedException: peer not authenticated« . J’ai cherché d’où ça pouvait bien venir en me penchant sur le certificat vu que c’est la seule chose qui changeait par rapport au HTTP. Il me paraissait normal jusqu’à temps que je me souvienne que j’ai dû ajouter une exception dans Firefox pour pouvoir accéder à ce site. En cherchant un peu plus loin (propriétés du certif), le problème vient du fait qu’il soit périmé. Il n’est donc plus valide donc HttpClient lève une exception et donc ça plante.

Le problème c’est que j’ai quand même besoin d’y accéder ! Voici donc une solution qui consiste à implémenter son propre vérificateur de validité de certificat et le mettre par défaut ensuite. Ça se passe dans deux classes.

Lire la suite de cet article »