驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH key

问题:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH keypair”。

想法:最近用hibernate框架来连接SQLserver数据库,出现了以上这个问题。我的系统是win10,SQLserver是2014,班上也有好几个同学出现的这个问题,有些同学降成了win7,有的重装了SQLserver2012(或者是更低的版本),虽然也得到了解决,但我总感觉没有得到有效解决,综合网上方法就想到了以下办法:

1.问题
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH key_第1张图片

在配置文件里面写了相应连接,运行时也会出现这个错误

驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH key_第2张图片

以上都是同一种错误

2。解决
问题原因:有可能是jdk版本问题
步骤1:查看jdk版本:cmd窗口——java -version
这里写图片描述
(我的jdk版本为:1.8.0-121)
步骤2:查看MyEclipse的jdk版本是否一致
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH key_第3张图片
目前使用的是[J2SE-1.5]
看到这里大家大概明白是哪儿出问题了
步骤3:MyEclipse的jdk与安装的保持一致
1)Configure Build Path
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH key_第4张图片

2)Edit
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH key_第5张图片
3)可以看到默认是第一个
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH key_第6张图片
4)注意:这里要选择第二个,注意选择与之相应的,我这里选得jdk1.8.0_121
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH key_第7张图片
5)Finish
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH key_第8张图片
可以看到现在已经换了
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH key_第9张图片
步骤4:再次运行测试
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH key_第10张图片
(现在没报错,说明插入数据已经成功了)
步骤5:查看数据库是否添加成功
驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“java.lang.RuntimeException: Could not generate DH key_第11张图片

希望可以帮到大家,如果这样也不行的话,就考虑一下其他办法吧

你可能感兴趣的:(java,踩坑记录,sql,server,ssl,hibernate,数据库,安全)