java:sqljdbc4连接数据库报错:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接

我报错的具体信息是这样的:

 

出错的原因是因为JDK新版本规定了要以3DES_EDE_CBC的方式对sql进行连接,具体解决方法如下:

1.找到自己的JDK安装目录,打开JDK\jre\lib\security\java.security文件

2.找到文件中的jdk.tls.disabledAlgorithms,删除其中的“TLSv1”“TLSv1.1”和“3DES_EDE_CBC”

这是原来的内容

jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, \
  DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, \
 include jdk.disabled.namedCurves

这是修改后的

jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, \
   DH keySize < 1024, EC keySize < 224, anon, NULL, \
  include jdk.disabled.namedCurves

 3.找到文件中的jdk.tls.legacyAlgorithms,删除其中的“3DES_EDE_CBC”

这是原来的内容

jdk.tls.legacyAlgorithms= \
       K_NULL, C_NULL, M_NULL, \
        DH_anon, ECDH_anon, \
        RC4_128, RC4_40, DES_CBC, DES40_CBC, \
        3DES_EDE_CBC

这是修改后的内容

jdk.tls.legacyAlgorithms= \
        K_NULL, C_NULL, M_NULL, \
        DH_anon, ECDH_anon, \
        RC4_128, RC4_40, DES_CBC, DES40_CBC

将文件保存后我们再去连接数据库

 

连接成功,问题解决。

 

(本文仅作个人学习用,如有纰漏,敬请指正)

 

posted @ 2022-07-25 14:08  谁知道水烫不烫  阅读(1217)  评论(0编辑  收藏  举报