在部署项目时,经常会遇到驱动程序无法通过使用安全套接字层(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

如何解决无法通过SSL加密与SQLServer建立连接-LMLPHP

2、将下载的两个jar放到:jdk\jre\lib\ext下

如何解决无法通过SSL加密与SQLServer建立连接-LMLPHP

3、在jdk\jre\lib\security下找到java.security文件

如何解决无法通过SSL加密与SQLServer建立连接-LMLPHP

4、打开java.security,找到代码

security.provider.1=sun.security.provider.Sun

换成

security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider重新启动,执行程序即可

如何解决无法通过SSL加密与SQLServer建立连接-LMLPHP

5、如果错误解决又报新错,可以在java.security文件中,不删除原来的security.provider.1=sun.security.provider.Sun,在后面加上security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider(10是指顺着写下去的数)

如何解决无法通过SSL加密与SQLServer建立连接-LMLPHP

05-11 11:08