天天看點

Java調用ssl異常(javax.net.ssl.SSLHandshakeException: No appropriate protocol)

這個問題的出現, 基本上跟你項目啟動的jdk有關系, 不是絕對的.

今天我本地啟動調用遠端資料庫的時候出現了這個問題, 資料庫連結不上. 一直連接配接逾時

最後導緻的問題就是Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

搜網上大部分的内容, 都是要求删除jdk/security包下面java.security檔案中SSLv3

但是異常現象依然存在,

後來分析了一下jdk.tls.disabledAlgorithms禁用的一些協定算法

其中:

網際網路的通信安全,建立在SSL/TLS協定之上, 

目前,應用最廣泛的是TLS 1.0,接下來是SSL 3.0。但是,主流浏覽器都已經實作了TLS 1.2的支援。TLS(傳輸層安全)是更為安全的更新版 SSL。

是以要根據你們請求的外部資源的處理方式做判斷, 禁用某種協定可能就會造成網路不通. 請求逾時失敗. 

我這邊的處理是, 把禁用對應的tls協定釋放掉. 就可以連結成功了. 你們可以嘗試一下.

jdk檔案目錄: jdk/jre/lib/security/java.security