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:无法找到请求目标的有效证书路径;的主要内容,如果未能解决你的问题,请参考以下文章