Loading

JDBC连接数据库遇到的“驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。

要从旧算法列表中删除3DES:

在JDK 8及更早版本中,编辑该 /lib/security/java.security文件并3DES_EDE_CBC从jdk.tls.legacyAlgorithms安全属性中删除。
官方文档指出:请注意,这是一个低风险的更改。它不太可能导致回归,因为它只会影响协商算法的顺序。如果没有其他非遗留算法可用,则仍将使用3DES(如果在遗留算法列表上列出)。

把jdk下面的java.security中的,去掉 3DES_EDE_CBC 可以使用jdbc连上sqlserver。

在Java 8默认禁用【加密套件】:“SSL_RSA_WITH_3DES_EDE_CBC_SHA”.
然后要连接成功的话,要开启“SSL_RSA_WITH_3DES_EDE_CBC_SHA”,找到的答案是:
打开文件夹(JAVA_HOME)/jre/lib/security中的安全策略文件:Java.security
修改jdk.tls.disabledAlgorithms选项。
Java 8的jdk.tls.disabledAlgorithms默认值:
jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024,
EC keySize < 224, DES40_CBC, RC4_40,3DES_EDE_CBC

为了开启SSL_RSA_WITH_3DES_EDE_CBC_SHA,将3DES_EDE_CBC注释掉:

Java 8的jdk.tls.disabledAlgorithms默认值:
jdk.tls.disabledAlgorithms=MD5, SSLv3, DSA, RSA keySize < 2048
jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024,
EC keySize < 224, DES40_CBC, RC4_40
#,3DES_EDE_CBC

 

参考:

JDBC连接数据库遇到的“驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。”问题解决方法!

posted @ 2019-10-25 09:50  元宝爸爸  阅读(4511)  评论(0编辑  收藏  举报