Java - 通过javamail发送电子邮件并使用SSL

时间:2016-09-07 11:33:47

标签: java ssl ssl-certificate javamail smime

我正在尝试通过SSL发送电子邮件,我已经拥有证书,并已将其导入我的cacerts文件中。我假设默认情况下,java会在java_home或为项目指定的jdk中查找cacerts文件。事实并非如此,因此我将keystore和truststore的系统属性设置为指向找到cacerts的路径,我通过以下方式执行此操作:

System.setProperty("javax.net.ssl.keyStore", JAVA_HOME + "\\jre\\lib\\security\\cacerts");
System.setProperty("javax.net.ssl.trustStore",JAVA_HOME + "\\jre\\lib\\security\\cacerts");
System.setProperty("javax.net.ssl.keyStorePassword", password);
System.setProperty("javax.net.ssl.trustStorePassword", password);

即使在指定路径后,我也无法正常工作:

  

引起:sun.security.validator.ValidatorException:PKIX路径   建筑失败:   sun.security.provider.certpath.SunCertPathBuilderException:无法   找到所请求目标的有效证书路径

我已经在这里阅读了很多帖子(Stackoverflow)甚至其他网站,我无法设法让它发挥作用。有谁知道为什么会这样?或者也许你可以告诉我以前是否应该检查一些事情。

0 个答案:

没有答案