2012-04-25 4 views
1

J'ai une webapp Tomcat 5 qui essaie d'envoyer un mail, via smtp.gmail.com sur le port 465, via une socket SSL. Je reçois l'exception:Aucun certificat de confiance trouvé lors de l'envoi d'un mail, mais le certificat semble être dans le keystore

javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465; 
    nested exception is: 
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found 
    at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1706) 
    at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:525) 
    at javax.mail.Service.connect(Service.java:291) 
    at javax.mail.Service.connect(Service.java:172) 

Ok. J'ai essayé d'importer dans mon keystore le certificat que je reçois sur le site Web https://www.gmail.com.

keytool -import -trustcacerts -file c:\verising-c3_01.cer 

Mais keytool indique que ce certificat existe déjà. Tomcat est installé avec les paramètres par défaut, je n'ai pas bougé les keystores (je ne sais même pas où ils sont). Ma version de javaMail est 1.4.3, ma version de jvm est 1.4.2_12.

Répondre

1

Les certificats importés sont stockés dans le fichier de clés certifiées et non dans le fichier de clés. Vous n'avez pas besoin d'un fichier de clés à moins que le serveur nécessite un certificat client, ce que les serveurs de messagerie font rarement.

+0

bien j'ai utilisé cette commande: keytool -import -trustcacerts -file c: \ verising-c3_01.cer n'impote-t-il pas les certificats dans le fichier de clés certifiées? – AgostinoX

+0

@AgostinoX Bien sûr que oui, mais avez-vous ensuite nommé le fichier sur lequel l'outil keytool a fonctionné * comme votre truststore JSSE? * -Djavax.net.ssl.trustStore = .... – EJP

1

Il peut être utile d'utiliser une version plus récente du JDK, même si ce n'est que pour le débogage afin de voir si cela fait une différence.

Il est possible que votre configuration Tomcat outrepasse la configuration du fichier de clés de telle sorte que vous n'utilisez pas le fichier de clés que vous pensez utiliser. Le fichier SSLNOTES.txt inclus avec JavaMail a des pointeurs vers des conseils de débogage SSL; Cela pourrait vous aider à affiner la source du problème.

Questions connexes