A voir également:
- Problème de certificat en SSL
- Communication impossible via ssl ps4 ✓ - Forum Google Chrome
- Certificat ca wifi - Forum Réseau
- Connexion impossible avec ssl ✓ - Forum iPhone
- Erreur de connexion SSL ✓ - Forum Google Chrome
- Https //www.google.com/ gws_rd=ssl ✓ - Forum Virus / Sécurité
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
12 avril 2015 à 16:03
12 avril 2015 à 16:03
Bonjour,
"si Google n'a pas de certificat de confiance... qui en a ?"
Google en a un, et toi ?
En vérité le cacerts ne contient pas directement les certificats des différentes sociétés, il va plutôt contenir le certificat de ceux qui attribuent des certificats (GeoTrust dans le cas de Google, Verisign pour Yahoo).
Tu peux afficher la liste des certificats comme ceci (mot de passe: changeit)
Donc Java va vous autoriser à vous connecter en https à Google ou Yahoo.
Mais : je ne parle ici que des certificats utilisés pour les sites web en https, c'est à dire que Google est le serveur et Java le client qui vérifie que Google est sécurisé.
Mais pour le pop3 c'est l'inverse, Java devient le "serveur" et c'est Google le client qui va vérifier que ton programme utilise est certifié pour le SSL.
https://support.google.com/mail/answer/21289?visit_id=637167273351388166-2526098193&rd=1
Mais comme toi tu n'as pas ton propre certificat reconnu par Google, c'est Google qui t'enverra un refus, que Java transformera en exception.
Même si dans ton cas, Java t'envoie une exception dès le départ car sans chercher à se connecter à Google, tu n'es même pas reconnu par Java...
La "solution" est de ne pas faire de SSL, donc configurer le compte Google pour communiquer en pop3 non sécurisé, et adapter le Java pour faire de la communication simple en clair.
"si Google n'a pas de certificat de confiance... qui en a ?"
Google en a un, et toi ?
En vérité le cacerts ne contient pas directement les certificats des différentes sociétés, il va plutôt contenir le certificat de ceux qui attribuent des certificats (GeoTrust dans le cas de Google, Verisign pour Yahoo).
Tu peux afficher la liste des certificats comme ceci (mot de passe: changeit)
cd %JAVA_HOME%\lib\security
keytool -list -keystore cacerts
Donc Java va vous autoriser à vous connecter en https à Google ou Yahoo.
String site = "https://www.google.fr";
Scanner sc = new Scanner(new URL(site).openStream());
while (sc.hasNextLine())
System.out.println(sc.nextLine());
sc.close();
Mais : je ne parle ici que des certificats utilisés pour les sites web en https, c'est à dire que Google est le serveur et Java le client qui vérifie que Google est sécurisé.
Mais pour le pop3 c'est l'inverse, Java devient le "serveur" et c'est Google le client qui va vérifier que ton programme utilise est certifié pour le SSL.
https://support.google.com/mail/answer/21289?visit_id=637167273351388166-2526098193&rd=1
Mais comme toi tu n'as pas ton propre certificat reconnu par Google, c'est Google qui t'enverra un refus, que Java transformera en exception.
Même si dans ton cas, Java t'envoie une exception dès le départ car sans chercher à se connecter à Google, tu n'es même pas reconnu par Java...
La "solution" est de ne pas faire de SSL, donc configurer le compte Google pour communiquer en pop3 non sécurisé, et adapter le Java pour faire de la communication simple en clair.
Modifié par Trekiros le 12/04/2015 à 17:37
On n'a pas trouvé l'option pour passer notre compte gmail en mode non sécurisé, ni celui sur Yahoo. Pour Yahoo, ils disent qu'ils ont retiré l'option à cause des différents leaks des dernières années. Ca serait la faute à Edward Snowden.
On a aussi essayé avec un nouveau compte, mais l'option n'est pas là pendant l'inscription non plus.
Les certificats SSL sont payants donc... Nous pensons utiliser un serveur pop3 sans SSL open source et se connecter à localhost pour la démonstration, du coup. Si vous avez une autre idée, on prend !