1
我試圖使用imaps協議訪問郵件服務(zimbra)。 我使用JavaMail JAR版本1.4.7使用imaps協議連接到郵件服務,證書不符合算法
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
缺少什麼我在這裏傢伙證書?
工作!感謝您的回答, 我錯過了VM參數,發現它在使用JavaMail的SLL筆記中 -Djavax.net.ssl.trustStore = $ HOME/.keystore –