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

你可能感兴趣的:(jd,jdk6,jdk7,tomcat6,tomcat7)