![](/img/trans.png)
[英]javax.net.ssl.SSLHandshakeException: Handshake failed on Android 5.0.0 when SSLv2 and SSlv3 are disabled (TLS only) (and greater)
[英]In java SSLv3 is disabled but in javamail API ssl works?
Java由於漏洞而禁用了SSLv3。但是在Java郵件API中,通過SSL使用SMTP服務器可以正常工作嗎? 為什么會這樣?
基於SSL的電子郵件使用SSL / TLS協議系列,該系列由SSLSocketImpl
和Java運行時庫中的相關類實現。
根據所使用的Java版本, SSLSocketImpl
將與遠程服務器協商SSL / TLS協議的可接受版本。 Java最多可支持TLSv1.3(在Java 11中)。 在更新111 1中,對TLSv1.0的支持已添加到Java 6中
實際上,默認情況下,2015年1月對Java 6及更高版本進行了更新,以禁用Java 6及更高版本中的SSLv3支持。 您必須設置系統屬性才能啟用SSLv3。
1-Java 6更新111不可公開獲得。 如果您使用的是Java 6的最新公共發行版,則必須使用不安全的SSLv3或更早版本。 大多數SMTP服務器都不接受。 這只是升級到受支持的Java版本的又一個原因。 即Java 8、11或更高版本。
但是在Java郵件API中使用通過SSL的SMTP服務器有效嗎? 為什么會這樣?
因為它沒有使用SSLv3(或更早版本); 往上看。
這是另一個我認為也可以解決此問題的堆棧溢出問題的鏈接。 堆棧溢出
如在此鏈接中所述:
可以通過從java.security文件的jdk.tls.disableAlgorithms屬性中刪除“ SSLv3”來重新激活該協議,或者通過將該屬性設置為“ true”來動態地激活該協議。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.