当我尝试连接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
答案 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
中的文档希望这个帮助, 干杯!!