我正在使用JDK 1.7.0_45并尝试获取我的IMAP收件箱,但我得到了异常
sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径
所以,我发现需要通过keytool将证书添加到Java truststore cacerts($ JAVA_HOME / jre7 / libs / security)。我的IMAP服务器的证书是由StartCom发布的,所以我认为我需要添加他们的根证书。我跟着these instructions并将证书添加到全局Java信任库cacerts。但是,我仍然得到同样的例外。 我还尝试创建自己的密钥库文件(.pks),添加证书并使用
运行应用程序-Djavax.net.ssl.keyStore =路径/到/ myown.jks
这也不起作用。根据我的理解,添加颁发证书的根颁发机构的证书就足够了。
如何让Java接受我的IMAP邮箱证书?
一个附带问题:当我发布一个Java应用程序(如电子邮件客户端)可能需要默认java信任库中未包含的证书时,让用户添加新证书的最不可怕的方法是什么?