【发布时间】:2012-04-24 09:44:51
【问题描述】:
我不明白 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 选择 Server Hello 上的 TLS_RSA_WITH_AES_128_CBC_SHA 作为客户端支持的首选。但这不是最安全的,也不是http://docs.huihoo.com/java/javase/7/technotes/guides/security/SunProviders.html#SunJSSEProvider 的首选编码,它列出了TLS_RSA_WITH_AES_256_CBC_SHA 的首选。
然后我认为是 server.xml 属性中的顺序产生了影响,我首先放置了另一个密码 (TLS_DHE_RSA_WITH_AES_256_CBC_SHA),我在 Client Hello 中看到它是受支持的。但这也没有被选中,TLS_RSA_WITH_AES_128_CBC_SHA 再次被选中。
那么 JSSE 是如何选择偏好密码的呢?这是在某处记录的吗?我无法弄清楚这里发生了什么。
【问题讨论】:
标签: java security tomcat ssl jsse