以下链接说明了如何为Java 7的安全邮件证书创建jssecacerts
http://infposs.blogspot.com/2013/06/installcert-and-java-7.html
但是一旦我尝试发送邮件异常,就会出现“java.security.cert.CertificateException:没有主题替代名称......”
如果我没有错误,新的jssecacerts证书文件应保存在工作目录下,我们必须手动将其复制到jdk \ jre \ lib \ security。
另外我想知道在Java 7中它会更新jdk \ jre \ lib \ security目录中的cacerts文件或现有的jssecacerts文件吗?
答案 0 :(得分:0)
java.security.cert.CertificateException:没有主题替代名称..
此例外指向SAN-主题备用名称。 这用于主机名验证 - SAN将包含携带证书的机器的IP地址或主机名。
在您的情况下,很可能电子邮件服务器因为空SAN(它严格验证主机名/ IP)而不接受您的证书。
我建议您使用SAN创建证书 - http://blogs.technet.com/b/isablog/archive/2011/10/09/how-to-generate-a-certificate-with-subject-alternative-names-san.aspx
在Linux风味上:http://lanestechblog.blogspot.in/2009/04/creating-ssl-certificates-with-multiple.html
如果由CA(证书颁发机构)提供 - 请他们使用SAN为您的主机生成它。