java如何选择在jsse中使用的最强密码?

Jim*_*Jim 5 java security ssl tomcat jsse

我不明白Java如何选择最常使用的密码Server Hello.

我有一个Tomcat 5配置,我在SSL连接器中设置了 ciphers=TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, etc

服务器,即Java支持TLS_RSA_WITH_AES_128_CBC_SHA,Server Hello作为客户端支持的首选.但这并不是最安全的,并不是首选的http://docs.huihoo.com/java/javase/7/technotes/guides/security/SunProviders.html#SunJSSEProvider列出的TLS_RSA_WITH_AES_256_CBC_SHA首选项.
然后我认为是server.xml属性中的顺序产生了差异,我把另一个密码first(TLS_DHE_RSA_WITH_AES_256_CBC_SHA)放在我Client Hello支持的地方.但这也没有被选中,而是TLS_RSA_WITH_AES_128_CBC_SHA再次被选中.

那么JSSE如何选择偏好的密码呢?这是在某处记录的吗?我无法弄清楚这里发生了什么.

use*_*421 4

没必要。RFC 2246所说的只是“服务器将选择一个密码套件”。它没有任何地方说它将选择最安全的,或者实际上没有任何关于它将如何做出选择的信息。

  • 我的意思是这里http://docs.oracle.com/javase/6/docs/technotes/guides/security/SunProviders.html (2认同)
  • 我发现了这个:http://bugs.sun.com/bugdatabase/view_bug.do;jsessionid=3ea7ba5151d828fffffffff02e2b3e1a73b04?bug_id=4330535 看来实现只是为了客户端尊重优先顺序。对于服务器,他们只选择第一个从客户端启用的。这与我的实验是一致的。所以 JSSE 参考似乎也不正确。而且太模糊(选择了“最好”。最好在什么方面?) (2认同)