2011-07-14 109 views
0

使用SMTPS发送邮件时,我设置了以下属性,所以我预计会跳过证书验证。但我的不受信任的证书导致异常。Java SMTPS不受信任的证书

mailConf.put("mail.smtps.ssl.checkserveridentity", "false"); 

唯一的例外是:

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

回答

1

您的属性名称略有误差。它应该是mail.smtp.ssl...而不是mail.smtps.ssl...。请注意,它是smtp而不是smtps

0

嗯,通过文档查看,我不得不怀疑你是否犯了一个错字。我找不到mail.smtps.ssl.checkserveridentity,但我可以找到mail.smtp.ssl.checkserveridentity。

+0

我认为它应该是'mail.smtp.ssl.trust = *'。 'checkserveridentity'表示服务器名称(套接字连接的名称)必须与证书的主题相匹配。 我的理解是OP想要停用某些证书的信任验证。请参阅http://javamail.kenai.com/nonav/javadocs/com/sun/mail/smtp/package-summary.html – home

相关问题