最近由于开发了一个电子商城项目,其中涉及银行的支付接口开发,所以把项目进行了https的部署,证书和秘钥都是用keytool生成的,但是当我用最近版本的Google浏览器进行访问的时候报错:“服务器的瞬时 Diffie-Hellman 公共密钥过弱”,上网找了一篇比较好的帖子于是乎转载了下来,以作备用。
最新版本的chrome(45.0.2454.85 m)在访问证书时,会报“服务器的瞬时
Diffie-Hellman 公共密钥过弱”
最开始以为是证书制作的问题,百度时看到一个解决方法是通过设置tomcat
的机密级别:在<connector>中加入
ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_
CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_C
BC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RS
A_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA"
但在本机测试可以,线上环境却会报:unsupported cipher suite XXX
经过测试发现,JDK1.6和JDK1.7支持的加密算法是不一样的,测试升级JDK
,问题解决。

本文详细介绍了在使用最新版本的Chrome浏览器访问HTTPS部署的项目时遇到的服务器的瞬时Diffie-Hellman公共密钥过弱错误,通过调整Tomcat的加密算法配置成功解决问题,并解释了不同JDK版本对加密算法支持的影响。
7469

被折叠的 条评论
为什么被折叠?



