我知道不同的JVM有不同的已启用协议列表。 JVM如何从列表中选择协议版本?
是否选择启用率最高的版本?
我读到服务器默认启用所有协议(与客户端不同,后者必须使用-Dhttps.protocols开关选择启用的协议)。 因此,如果JVM与-server交换机一起运行,但是客户端调用另一个https站点,将使用哪个协议?它是Java的最高支持版本协议吗?
-Djdk.tls.client.protocols开关与-Dhttp.protocols开关有何不同? (两者似乎都在控制已启用的客户端协议列表?(并且似乎都没有影响服务器支持的协议列表)
有没有办法有选择地关闭服务器的某些协议?
- 索尼
答案 0 :(得分:2)
我知道不同的JVM有不同的已启用协议列表。 JVM如何从列表中选择协议版本? 1.它是否选择启用最高的版本?
是
- 我读到服务器默认启用所有协议(与客户端不同,后者必须使用-Dhttps.protocols开关选择启用的协议)。
醇>
我不知道您在哪里阅读,但默认情况下,客户端和服务器都启用了所有安全协议。客户可能但无需使用https.protocols
。
因此,如果JVM与-server交换机一起运行,但是客户端调用另一个https站点,将使用哪个协议?它是Java的最高支持版本协议吗?
是。 -server开关与此无关。它选择HotSpot的实现。无论如何都与TLS无关。
- -Djdk.tls.client.protocols开关与-Dhttp.protocols开关有何不同?
醇>
前者适用于所有TLS;后者仅适用于HTTPS。
- 有没有办法有选择地关闭服务器的某些协议?
醇>
哪个服务器?它可以在Tomcat中配置,如果你自己编写服务器,你可以自己直接配置SSLServerSocket
。