如何为Java指定SSL密码套件的服务器首选顺序?

我正在使用
Java 1.6和netty 3.8来实现HTTP / HTTPS服务器.

我已经通过ssllab.com(
https://www.ssllabs.com/ssltest/analyze.html)完成了SSL测试,我得到了下面的密码套件的结果.

Cipher Suites (sorted by strength; the server has no preference)

但是,google.com的结果是不同的.
https://www.ssllabs.com/ssltest/analyze.html?d=www.google.com&s=74.125.227.148

Cipher Suites (SSL 3+ suites in server-preferred order, then SSL 2 suites where used)

如何为密码套件设置服务器端首选项顺序?
JSSE是否有任何关于它的属性或API?

提前致谢.

最佳答案 您可以尝试使用所需顺序的数组调用setEnabledCipherSuites(),但JSSE文档中没有任何内容表明它将使用该顺序作为所需的顺序,并且TLS RFC 2246中没有任何内容表明服务器必须遵守在客户建议的密码套件中进行选择时的任何特定顺序.

编辑您可能最好将Apache HTTPD反向代理放在服务器前面并在那里终止SSL. Apache HTTPD使用OpenSSL,它可以让您完全按照自己的意愿行事.对于某些Web应用程序需要客户端证书而其他人不需要客户端证书的情况,这也更好,假设您正在编写Web应用程序.

点赞