com.microsoft.sqlserver.jdbc.SQLServerException: 驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。
错误:“java.lang.RuntimeException: Could not generate DH keypair”。
这个历史遗留问题由来已久,且网上的内容大同小异,问题的解决方法也是千奇百怪,却最终都以不明不白的答案结尾,众看客也是看的一脸懵逼,博主也是遇到了这个问题,好久都没解决,作此文仅做记录,以备不时之需。
1.按照网上说的进行了对文件进行了替换还是没法解决
http://blog.csdn.net/u012557538/article/details/52010359 这位大哥说的就很明白了,曾经试过这个,但还是不行,
最终才明白问题的所在。
方通用案:
下载两个jar包———————>bcprov-ext-jdk15on-1.54.jar和bcprov-jdk15on-1.54.jar
下载地址为:http://download.csdn.net/detail/cw_hello1/9557049
第二步:将下载的两个JAR文件复制到:JDK安装目录\jre\lib\ext下,
例如我的就是F:\JDK\jdk6\jre\lib\ext
打开java.security文件:在JDK安装目录\jre\lib\security下的java.security文件。
找到security.provider.1=sun.security.provider.Sun换成 security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider
先说下我的测试环境: windows10+MyEclipse8.6+SQLServer2012 , 第一次遇到这个问题,两个字“懵逼”,突然就连接不上数据库了,立马上网搜索,看到CSDN上一篇文章即开头提到的那篇,想着这么简单,就按照作者的思路,菜单里面找到软件的快捷方式,打开了MyEclipse8.6的安装目录,然后一步步操作完毕,但结果却是:问题却依旧存在,令我百思不得其解~
最后才明白,原来从一开始就是错的(又一次证明了英文的重要性)
正确的方法是打开MyEclipse8.6,依次打开Windows ,Preference,Java,Installed JRE,选中JDK,点击Edit 得到路径 C:\Users\用户名\AppData\Local\Genuitec\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013 然后再这个文件夹里面进行上文所述操作 最后的最后,重启电脑!重启电脑!重启电脑!(重要的事情说三遍)
可参考下图:
图1
图2
图3
提取密码:Gcod
文中用的的两个jar包大小: | 来源:企业云盘
已经过安全软件检测无毒,请您放心下载。