【发布时间】:2017-01-23 15:04:32
【问题描述】:
我正在尝试使用 imaps 协议将电子邮件访问到邮件服务 (zimbra)。 我正在使用 javaMail jar 版本 1.4.7
Properties props = (Properties)System.getProperties().clone();
// SSL setting
props.put("mail.imaps.ssl.checkserveridentity", "false");
props.put("mail.imaps.ssl.trust", "*");
MailSSLSocketFactory socketFactory = new MailSSLSocketFactory();
socketFactory.setTrustAllHosts(true);
props.put("mail.imaps.ssl.socketFactory", socketFactory);
Store store = Session.getDefaultInstance(props).getStore("imaps");
store.connect(host, email, password); /* exception here */
打印异常:
javax.mail.MessagingException: java.security.cert.CertificateException: Certificates does not conform to algorithm constraints;
nested exception is:
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Certificates does not conform to algorithm constraints
at com.sun.mail.imap.IMAPStore.protocolConnect(IMAPStore.java:670)
at javax.mail.Service.connect(Service.java:295)
at javax.mail.Service.connect(Service.java:176)
首先,我从网页中获得了证书(.crt 文件),如下图所示。其次,我已经使用 keytool 命令导入了证书
keytool -importcert -file company.net.crt -keystore company.net -alias "company.net" -storepass changeit
我在这里错过了什么?
【问题讨论】:
标签: java ssl-certificate jakarta-mail imap zimbra