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