连接失败;嵌套异常是:javax.net.ssl.SSLHandshakeException:

时间:2012-12-17 09:03:21

标签: exception javamail sslhandshakeexception

当我尝试连接yahoo时出现以下错误

pop3s. plus.mail.pop.yahoo.com:995

error while connecting to pop3 mail server javax.mail.MessagingException: Connect failed;
nested exception is:
    javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

我已尝试将证书添加到JAVA_Home/jre/lib/security。此外,当我尝试使用Java/javac Cmd直接使用相同的代码时,它可以工作。但是从tomcat它不起作用。

另外:我使用的代码自上两年起在同一台服务器上运行。最近我们已经从专用服务器迁移到基于云的服务器。 Backspace是我们部署代码的供应商。

提前致谢! Vivek Agrawal

1 个答案:

答案 0 :(得分:0)

最有可能导致操作系统,因为系统无法找到有效的证书,因为在迁移过程中,与密钥库相关的内容未正确设置。

检查配置文件$ CATALINA_BASE / conf / server.xml,并查看是否在Connector标记下设置了正确密钥库的路径。如果您正在使用JSSL在该文件中查找

<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
<Connector 
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           keystoreFile="${user.home}/.keystore" keystorePass="changeit"
           clientAuth="false" sslProtocol="TLS"/>

您的keystoreFile必须设置为正确的路径,以便您的应用程序可以验证和解析请求中的证书路径(确实,keystorepass也必须正确)。

如果您有其他配置(APR或其他内容),请查看http://tomcat.apache.org/tomcat-6.0-doc/ssl-howto.html

中的文档

希望这个帮助, 干杯!!