我不明白 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 等
服务器即 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 如何选择偏好密码呢?这在某处记录了吗?我不知道这是怎么回事。
最佳答案
没必要。所有这些RFC 2246说是“服务器将选择一个密码套件”。它没有说它会选择最安全的,也没有说它会如何做出选择。
关于java - java如何选择最强的密码在jsse中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10295446/