问题
当我们用Chrome浏览器访问网站,出现“服务器的瞬时 Diffie-Hellman 公共密钥过弱”,如下图时:
请首先检查使用的JDK版本,是否已经是最新的8.0以上了,如果是JDK1.6 1.7就有可能出现该问题,JDK1.7以下只支持DH784位加密。
解决办法
1、升级到最新的JDK版本(8.0以上),就可以立刻解决该问题。
2、如果没有办法升级JDK,可以采用调整服务器加密套件的配置来解决。
Tomcat
基于Java 1.6,请在Server.xml中增加以下ciphers配置:
……
ciphers="TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA">
基于Java 7,请在Server.xml中增加以下ciphers配置:
……
ciphers="TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,SSL_RSA_WITH_3DES_EDE_CBC_SHA">
Weblogic
找到config.xml文件,修改编辑其中参数,增加:TLS_RSA_WITH_3DES_EDE_CBC_SHA
TLS_RSA_WITH_AES_128_CBC_SHA