上次CAS单点登录使用tomcat配置了SSL,具体文章参见《centos下tomcat的ssl配置》
过了很久,由于firefox的更新(大概是更新到39版本),出现了ssl_error_weak_server_ephemeral_dh_key的错误。
完整的错误大概如下:
在服务器密钥交换握手信息中 SSL 收到了一个弱临时 Diffie-Hellman 密钥。 (错误码: ssl_error_weak_server_ephemeral_dh_key)
chrome下也会报类似的错误,但是信任就可以了,firefox39不会,直接无法访问。
引起这个问题的大概原因是:
tomcat默认启用了一些弱密码算法,而SSL在服务器密钥交换的握手消息中接收了一个弱临时Diffie-Hellman密钥,客户端认为这是不安全的,因此报出上面额错误。
那么在tomcat中,你可以通过关闭SSL2.0和禁用弱密码算法来避免在这个问题。关于这个问题,其实2014年有一个很著名的“心脏出血”漏洞。
解决方法,在tomcat的server.xml配置文件中,配置SSL的connector如下:
有关于这个漏洞的更多资料,可参考阿里云的文章:http://help.aliyun.com/knowledge_detail.htm?knowledgeId=5995398
参考资料:http://bestcodetips.com/fix-ssl\_error\_weak\_server\_ephemeral\_dh\_key/