天天看点

#javamail发邮件遇到的ssl验证问题

问题描述如下:

#javamail发邮件遇到的ssl验证问题

解决方案:

一、首先要在浏览器打开需要证书的网站,然后把证书下载下来,保存的证书名称随意命名,只要保证唯一性(这个唯一性下文有解释)

二、然后把证书复制到%JAVA_HOME%/jre/bin/路径下,即保证证书与keytool.exe文件同目录(其实不同也行,但是执行命令时需要指定路径)

三、导入过程如下:

前提:配置环境变量:export PATH=/usr/java/jdk1.8.0_144/bin/:$PATH

否则keytool命令不可用;

1、在security目录下输入命令: keytool -import -alias mailmodgovcn -keystore “/usr/java/jdk1.8.0_144/jre/lib/security/cacerts” -file “/usr/java/jdk1.8.0_144/jre/lib/security/mailmodgovcn.crt” -trustcacerts

说明:mailmodgovcn 是起的名称,mailmodgovcn.crt是下载的证书。

2、changeit 是密码, java默认的。

3、如果提示:“是否信任此证书? [否]:” ,那么请输入"y"。

当出现:”证书已添加到密钥库中 [正在存储cacerts]“的时候,那么恭喜你已经添加成功。

四、常用命令总结

导入命令:

keytool -import -alias mailmodgovcn -keystore “/usr/java/jdk1.8.0_144/jre/lib/security/cacerts” -file “/usr/java/jdk1.8.0_144/jre/lib/security/mailmodgovcn.crt” -trustcacerts

查看命令:

keytool -list -keystore /usr/java/jdk1.8.0_191/jre/lib/security/cacerts -storepass changeit

删除命令:

keytool -delete -alias mailmodgovcn -keystore /usr/java/jdk1.8.0_191/jre/lib/security/cacerts

五、然后就可以正常发邮件了。