在我工作的公司中,我们有一个带有 CAS 的服务器 GF 3.1.1 (JDK 6),它可以对另一个系统中的用户进行身份验证。在上次更新 Firefox (v. 39x) 后,我们从浏览器中获取了以下信息:
mydomain.com SSL received a weak ephemeral Diffie-Hellman key in Server Key Exchange handshake message.
如果没有 this workaround 就无法访问该站点或使用其他浏览器。 在 chrome 中,我可以正常访问,但如果我查看连接属性,它会显示:
Your connection is encrypted with obsolete cryptography.
The connection uses TLS 1.0.
The connection is encrypted using AES_128_CBC, with SHA1 for message authentication an DHE_RSA as the key exchange mechanism.
我不能配置我们客户的所有浏览器,也不能说他们只使用 chrome。也许将来 chrome 可以做同样的事情。所以我的解决方案是正确配置服务器。问题是我不知道该怎么做。
我在 GF 中发现我可以在 Configurations > server-config > Network Config > Protocols > http-listner-2 > SSL 中进行配置
然后我找到here建议使用的一些密码的黑名单和白名单。我试着把所有黑色的都去掉,把所有的都变成白色。但我仍然有问题。我认为此列表可能已过时。
感谢任何帮助。
最佳答案
最后。我找到了解决办法。 我搜索了很多,我可以找到一个解决方案,所以我尝试一个一个地测试一个密码。所以,去工作(我并不是说那是正确的方法)。我必须这样做:
在:
Configurations > server-config > Network Config > Protocols > http-listner-2 > SSL
- 添加所有可用的密码
- 删除所有 Diffie-Hellman 密码
- 保存
之后,我们的应用程序可以再次在任何浏览器中打开。我希望它可以帮助某人。
对于管理员:
Configurations > server-config > Service HTTP > Listeners HTTP > admin-listner > SSL
- 添加所有可用的密码
- 删除所有 Diffie-Hellman 密码
- 保存
- 重启
编辑:与 whitelist here 比较将成为新白名单一部分的其余密码是:
白名单
- TLS_RSA_WITH_AES_128_CBC_SHA
- SSL_RSA_WITH_3DES_EDE_CBC_SHA
关于java - GF3 (JDK 6) 如何配置安全协议(protocol)以删除过时的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31346501/