由于新的浏览器版本开始在访问配置了弱DH密码的SSL网站时发出警告/错误,因此出现了这种情况。有关该问题的更多信息,请参阅以下链接。
https://weakdh.org
logjam问题
要解决这个问题,你可以在浏览器端或服务器端找到一个解决方法。服务器端是最好的选择,因为它将为所有用户解决问题,无论他们使用不同的浏览器/位置访问服务器。
为了解决这个问题,我们必须确保我们的服务器(在这种情况下是Tomcat)使用强大的SSL密码。
在Tomcat中,有两种不同的SSL实现。默认是作为Java运行时的一部分提供的JSSE实现。另一个是APR实现,默认使用OpenSSL引擎。
由于JSSE依赖于Java运行时,我们必须首先找出我们正在使用哪个Java版本与Tomcat一起使用。Tomcat 7支持Java 1.6及以上版本。然后我们必须找到相应的密码套件,这些密码套件受JSSE相关Java版本支持。弱密码套件是包含“DHE”的套件,所以选择不包含“DHE”的套件。下面列出了Java 1.6 JSSE的一些更强的密码套件。
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_ECDH_ECDSA_WITH_RC4_128_SHA
TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDH_RSA_WITH_RC4_128_SHA
TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_RC4_128_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
TLS_ECDH_ECDSA_WITH_NULL_SHA
TLS_ECDH_RSA_WITH_NULL_SHA
TLS_ECDHE_ECDSA_WITH_NULL_SHA
TLS_ECDHE_RSA_WITH_NULL_SHA
...
编译一个强密码套件列表,并将其添加到您的Tomcat中conf/server.xml中的连接器密码中。
<Connector
...
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDH_ECDSA_WITH_RC4_128_SHA,TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDH_RSA_WITH_RC4_128_SHA,TLS_ECDH_RSA_WITH_AES_128_CBC_SHA,TLS_ECDH_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_RC4_128_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA,TLS_ECDH_ECDSA_WITH_NULL_SHA,TLS_ECDH_RSA_WITH_NULL_SHA,TLS_ECDHE_ECDSA_WITH_NULL_SHA,TLS_ECDHE_RSA_WITH_NULL_SHA"
...
/>
重新启动服务器,错误/警告应该会消失。请注意,如果Java版本不同,则复制/粘贴上述内容可能无法正常工作。因此,请参考正确的版本和支持的密码套件。
注意:要使用256位AES密码套件,必须安装JCE无限制权限策略文件。
如果Tomcat配置为使用APR而不是JSSE,则上述配置将无法工作。您可以按照Tomcat SSL配置指南和
logjam管理指南启用强密码套件。