java.lang.RuntimeException: Could not generate DH keypair。

本人出现这个错误的原因是,在原来的个人电脑中使用win7 64位系统。然后转项目到win10 64位系统。原来win7使用的jdk6(32位)和7(64位),与tomcat7.一直使用都没有问题。在win10下,使用jdk1.6(32位,64位都试过)一直报上面这个错。使用1.7(64位)没有报错。但是项目正式部署需要1.6。所以必须解决使用1.6来编译。


解决方法如下:

1.下载两个jar包

1.bcprov-ext-jdk15on-1.54.jar

2.bcprov-jdk15on-1.54.jar

2.将下载的两个JAR文件复制到:JDK安装目录\jre\lib\ext下,例如我的就是D:\Program Files (x86)\java\JDK1.6\jre\lib\ext

3.打开java.security文件:在JDK安装目录\jre\lib\security下的java.security文件。

找到security.provider.1=sun.security.provider.Sun换成

security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider

重新执行连接数据库程序就可以。


使用上面的方法可以解决这个问题,但是有我又发现了一个另外的问题。

上面可以使用1.6(64位)之后。当使用的tomcat是7(64位)的时候,会报java.security.NoSuchAlgorithmException: SHA1PRNG SecureRandom not available这个错。

但是虽然报错,不过还是可以正常使用。

当使用1.6(64位)和tomcat6(64位)之后,就没有这个报错,正常使用。


jar包下载地址:http://download.csdn.net/detail/qq_34805046/9681039
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值