在部署项目时,经常会遇到驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接,错误:Java.lang.RuntimeException: Could not generate DH keypair,下面就来教一下大家如何解决~
工具/原料
- 电脑
- bcprov-ext-jdk15on-1.54.jar和bcprov-jdk15on-1.54.jar
出现原因
1、由于很多项目用的是jdk6来作为Java环境,连接SQLServer时出现驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接,是因为java环境是jdk6的原因
方法/步骤1
1、项目如果有条件换成jdk7,jdk7中已经修复了这个问题
方法/步骤2
1、百度搜索下载两个jar包,bcprov-ext-jdk15on-1.54.jar和bcprov-jdk15on-1.54.jar
2、将下载的两个jar放到:jdk\jre\lib\ext下
3、在jdk\jre\lib\security下找到java.security文件
4、打开java.security,找到代码
security.provider.1=sun.security.provider.Sun
换成
security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider重新启动,执行程序即可
5、如果错误解决又报新错,可以在java.security文件中,不删除原来的security.provider.1=sun.security.provider.Sun,在后面加上security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider(10是指顺着写下去的数)