【发布时间】: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)
【问题讨论】:
标签: java ssl-certificate jakarta-mail tls1.2 sslhandshakeexception