我嘗試使用 javax.mail 使用 SSL 發送電子郵件,但收到下一個錯誤:
Error: Sending the email to the following server failed : 10.100.65.159:465. Cause: javax.mail.MessagingException: Could not convert socket to TLS;
nested exception is:
javax.net.ssl.SSLException: Received fatal alert: bad_record_mac
我的java版本:
openjdk 版本 "1.8.0_242" OpenJDK Runtime Environment Corretto-8.242.07.1 (build 1.8.0_242-b07) OpenJDK 64-Bit Server VM Corretto-8.242.07.1 (build 25.242-b07, 混合模式)
我的java代碼:
email.getMailSession().getProperties().put("mail.smtp.ssl.trust", "*");
email.getMailSession().getProperties().put("mail.smtp.starttls.enable", "true");
email.getMailSession().getProperties().put("mail.smtp.ssl.protocols", "SSLv3");
我的 javax.mail 版本:1.4.5
我從 java.security 檔案的禁用演算法串列中洗掉了 SSLv3
我仍然不知道可能是什么問題
有任何想法嗎?
uj5u.com熱心網友回復:
由于 SSLv3 自 2015 年 6 月以來已被棄用,您可能會面臨任何相關的哈希演算法或密碼套件都被停用或不由任何兩個(客戶端/服務器)平臺提供的問題。
您可以嘗試通過使用系統選項啟用 SSL 除錯輸出javax.net.debug=all并分析輸出來找出根本原因。但更好的方法是盡可能前進到 TLSv1.2。
uj5u.com熱心網友回復:
最后我只需要洗掉 security.provider.1=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider
來自 java.security 并已修復
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/406914.html
標籤:
