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
将文件保存后我们再去连接数据库
连接成功,问题解决。
(本文仅作个人学习用,如有纰漏,敬请指正)