关于JDK1.6调用https握手失败问题

此博客只是记录了自己在开发过程中遇到的问题以及最后的解决方案,如有侵权请联系我删除!
问题描述:
由于业务需求,需要将http换成https,在测试中出现了一个问题:也就是JDK1.7可以正常请求而JDK1.6报在请求https请求时,出现致命错误:握手失败。
在挣扎了两天后,参考了各路大神的问题方案后,解决了这个问题,一下是我的解决方案。
解决方案:
一、如果条件允许可以将环境整体提升为JDK1.7,问题解决,但是我们的客户坚持使用JDK1.6,所以此方案作废
二、修改配置
修改tomcat server.xml配置 支持SSLv2Hello。在标签里加上
加上这个配置:sslEnabledProtocols=“TLSv1,TLSv1.1,TLSv1.2,SSLv2Hello”

我得项目此时已经解决!!!!

!!!!!!!!!!!!!!!!!!
如果还是报错,请参考以下操作(以下操作本人未使用,不知道是否可用)
keytool -genkey -v -alias tomcat -keyalg RSA -keystore D:/tomcat.keystore -validity 36500
keytool -import -v -trustcacerts -alias joaker -file D:/joaker.crt -storepass changeit -keystore "%JAVA_HOME%/jre/lib/security/cacerts
替换jar 包 C:\Program Files\Java\jdk1.8.0_40\jre\lib\security local_policy.jar和 US_export_policy.jar
调用: 报错:javax.net.ssl.SSLException: java.lang.RuntimeException: Could not generate DH keypair
继续解决:
下载:bcprov-ext-jdk15on-1.52.jar 和 bcprov-jdk15on-1.52.jar
复制这两个jar包到: JAVA_HOME/jre/lib/ext
修改:JAVA_HOME/jre/lib/security/java.security
增加security.provider.10=org.bouncycastle.jce.provider.BouncyCastleProvider
调用正常了。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值