記錄jdk21連接SQLServer因?yàn)門LS協(xié)議報錯問題
報錯信息
com.alibaba.druid.pool.DruidDataSource - create connection SQLException, url: jdbc:sqlserver://192.168.60.93;databaseName=THIS4, errorCode 0, state 08S01 com.microsoft.sqlserver.jdbc.SQLServerException: “Encrypt”屬性設(shè)置為“true”且 “trustServerCertificate”屬性設(shè)置為“false”,但驅(qū)動程序無法使用安全套接字層 (SSL) 加密與 SQL Server 建立安全連接:錯誤:The server selected protocol version TLS10 is not accepted by client preferences [TLS13, TLS12]。
解決方案
從報錯信息上來看,是因?yàn)榭蛻舳耸褂玫膮f(xié)議版本是TLS1.3和TLS1.2,與服務(wù)器支持的版本TLS1.0不匹配導(dǎo)致握手失敗。
百度上查閱得知從JDK8開始,默認(rèn)使用的TLS版本是TLS 1.2,JDK17默認(rèn)使用的TLS版本是TLS 1.3,但是JDK17已經(jīng)在默認(rèn)的安全配置中,把TLS1.0和TLS1.1禁用掉了。
以下是啟用TLS1.0的操作方法,操作完需要重啟服務(wù):
#jdk11+ 配置文件位置 #例:C:\Program Files\Java\jdk-21\conf\security\java.security $JAVA_HOME/conf/security/java.security # jdk8及以下 配置文件位置 #例:C:\Program Files\Java\jre1.8.0_421\lib\security\java.security $JRE_HOME/lib/security/java.security #找到里面的一行配置: jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \ DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL #說明:JDK中的jdk.tls.disabledAlgorithms參數(shù)用于禁用不安全或不需要的TLS密碼算法, #以提高系統(tǒng)的安全性。通過配置這個參數(shù),可以指定JDK不支持的密碼算法或協(xié)議,以降低它們的優(yōu)先級, #減少被攻擊的風(fēng)險。 #我們把TLSv1,TLSv1.1這兩個刪除掉,變成如下: jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \ DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Jmeter內(nèi)置變量vars和props的使用詳解
JMeter是一個功能強(qiáng)大的負(fù)載測試工具,它提供了許多有用的內(nèi)置變量來支持測試過程,其中最常用的變量是 vars 和 props,本文通過代碼示例詳細(xì)給大家介紹了Jmeter內(nèi)置變量vars和props的使用,需要的朋友可以參考下2024-08-08java實(shí)現(xiàn)一個簡單的網(wǎng)絡(luò)爬蟲代碼示例
這篇文章主要介紹了java實(shí)現(xiàn)一個簡單的網(wǎng)絡(luò)爬蟲代碼示例,還是挺不錯的,這里分享給大家,需要的朋友可以參考下。2017-11-11SpringBoot 如何使用Dataway配置數(shù)據(jù)查詢接口
這篇文章主要介紹了SpringBoot 如何使用Dataway配置數(shù)據(jù)查詢接口,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-11-11Java線程活鎖的實(shí)現(xiàn)與死鎖等的區(qū)別
活鎖是一種遞歸情況,其中兩個或更多線程將繼續(xù)重復(fù)特定的代碼邏輯,本文主要介紹了Java線程活鎖的實(shí)現(xiàn)與死鎖等的區(qū)別,具有一定的參考價值,感興趣的可以了解一下2024-04-04Java實(shí)現(xiàn)合并兩個word文檔內(nèi)容
這篇文章主要為大家詳細(xì)介紹了如何使用Java實(shí)現(xiàn)合并兩個word文檔內(nèi)容,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-11-11