javax.mail.MessagingException:PKIX 路径构建失败:SunCertPathBuilderException:无法找到请求目标的有效证书路径;
Posted
技术标签:
【中文标题】javax.mail.MessagingException:PKIX 路径构建失败:SunCertPathBuilderException:无法找到请求目标的有效证书路径;【英文标题】:javax.mail.MessagingException: PKIX path building failed: SunCertPathBuilderException: unable to find valid certification path to requested target; 【发布时间】:2020-11-24 20:03:46 【问题描述】:我在尝试连接到商店时收到此异常。
当我浏览论坛时,这个错误的解决方案是将证书添加到使用的 JVM 的信任库文件中。
问题是我是新手,我不确定我是否理解我应该如何做到这一点:我应该在哪里获得证书以及如何添加它?
注意:我注意到当我使用 main 方法运行它时,它运行良好!但是当我设置一个调度器自动调用该方法时,我就得到了异常。
非常感谢您的帮助。
public void receiveMails() throws Exception
Properties props = new Properties();
props.setProperty("mail.store.protocol", "imaps");
props.setProperty("mail.imaps.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
props.setProperty("mail.imaps.socketFactory.fallback", "false");
props.setProperty("mail.imaps.ssl.enable", "false");
props.setProperty("mail.imaps.socketFactory.port", "993");
props.setProperty("mail.imaps.starttls.enable", "true");
props.setProperty("mail.imaps.ssl.trust", "mailHost");
try
Session session = Session.getInstance(props, null);
Store store = session.getStore();
store.connect("mailHost", "user@domain.com", "password");
//...
例外是:
javax.mail.MessagingException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target;
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
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:479)
at javax.mail.Service.connect(Service.java:275)
at javax.mail.Service.connect(Service.java:156)
【问题讨论】:
【参考方案1】:尝试在执行此操作时禁用您的防病毒软件。这可能是原因。
【讨论】:
以上是关于javax.mail.MessagingException:PKIX 路径构建失败:SunCertPathBuilderException:无法找到请求目标的有效证书路径;的主要内容,如果未能解决你的问题,请参考以下文章