JDBC連接Sql Server時報錯:無法通過使用安全套接字層加密與 SQL Server 建立安全連接
- 前言
- 解決辦法一
- 解決辦法二
- 總結
前言
??今天使用jdbc連接sql server突然報錯為:SQLServerException: “Encrypt”屬性設置為“true”且 “trustServerCertificate”屬性設置為“false”,但驅動程序無法使用安全套接字層 (SSL) 加密與 SQL Server 建立安全連接
解決辦法一
首先是網上尋找到的第一種辦法,就是在自己安裝的JDK目錄下找到java.security文件,然后打開這個文件。查詢jdk.tls.disabledAlgorithms,然后將里面的3DES_EDE_CBC去掉,使用舊的算法。
下面是我的電腦上的例子:
但是遺憾的是,這個解決辦法沒有解決我的問題。
解決辦法二
在連接數據庫時,在我們使用的url后面加上一個encrypt=false或者encrypt=true;trustServerCertificate=true
String dbURL="jdbc:sqlserver://localhost:1433;databaseName=TestDB;encrypt=false";
String dbURL="jdbc:sqlserver://localhost:1433;databaseName=TestDB;encrypt=true;trustServerCertificate=true";
現在也還不了解具體原理,麻煩各位不吝賜教。
總結
- 修改java.secrity文件
- 在url后面加上encrypt=false或者encrypt=true;trustServerCertificate=true
如果你在閱讀本文中發現描述不夠準確或有誤的地方,還請給予我一定的反饋,大家一起學習進步!!!