SunCertPathBuilderException:无法找到所请求目标的有效证书路径

时间:2014-04-21 10:30:38

标签: java ssl javamail

我知道在SO上有很多关于同一件事的问题,但我似乎还没有找到解决我问题的方法。

我正在使用JavaMail API连接到邮件服务器。最初我使用端口110连接到pop3服务器,那时我得到以下异常 -
javax.net.ssl.SSLException: Unrecognized SSL message, plaintext connection?

我将端口更改为995并得到以下异常 -

sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

连接服务器的代码

Properties props = System.getProperties();
props.setProperty("mail.store.protocol", "pop3");
props.setProperty("mail.pop3.ssl.enable", "true");

Session session = Session.getInstance(props, null);
store           = session.getStore("pop3");
store.connect(ServerName, Port, UserName, Password);

我哪里错了?任何意见将是有益的。提前谢谢。

1 个答案:

答案 0 :(得分:2)

第一条错误消息说明了一切。您正在尝试SSL到明文端口。尝试禁用SSL,或使用正确的SSL端口。

第二个表示您的信任库不信任服务器证书。如果它是自签名的,则需要将其导入您的信任库。