【问题标题】:Tomcat SSL configuration for JSSE - what is sslProtocol attributeJSSE 的 Tomcat SSL 配置 - 什么是 sslProtocol 属性
【发布时间】:2014-06-15 09:51:54
【问题描述】:

规格:

Tomcat 7.0.52
Java 7.0_60

简介:

为了配置 Tomcat 支持安全连接,我们必须在 server.xml 文件中配置 Connector 元素。 首先我们必须选择 SSL 的实现。假设我们使用 JSSE。 当使用 JSSE 实现时,我们可以使用两个属性来配置 SSL 协议:

  • sslEnabledProtocols
  • ssl协议

沮丧:

sslProtocol 属性似乎没有任何作用。看起来完全是个死人。只有 sslEnabledProtocols 可以影响使用的协议。

例如:

<Connector port="8443" SSLEnabled="true"
    ...
    protocol="org.apache.coyote.http11.Http11Protocol"
    sslProtocol="SSLv3"/>

SSLv3 不会改变任何东西。如果浏览器支持 TLS1.2 则使用 TLS1.2,如果浏览器仅支持 TLS1.0 则使用 TLS1.0。所以这个值对我来说没有任何改变。只有 sslEnabledProtocols 的值很重要。

问题:

有人能解释一下 sslProtocol 属性的含义吗?以及何时使用它。

谢谢。

【问题讨论】:

    标签: ssl configuration tomcat7 java-7 jsse


    【解决方案1】:

    值 SSLv3 不会改变任何东西。如果浏览器支持 TLS1.2 则使用 TLS1.2,如果浏览器仅支持 TLS1.0 则使用 TLS1.0。

    这是不正确的。如果将sslProtocol 设置为SSLv3,则只会使用SSLv3,并且不会使用任何版本的TLS。最好不要指定此属性:这样您就可以使用您正在使用的 JSSE 版本支持的所有可能的 SSL/TLS 版本。

    【讨论】:

    • 我已经测试过了。例如 IE 和 Chrome。看起来缺少明确设置 sslEnabledProtocols 意味着默认情况下启用所有协议。所以使用最高支持的协议。如果浏览器仅支持 TLS1.0,则选择 TLS1.0,如果浏览器支持 TLS1.2,则选择 TLS1.2。 sslProtocol 没有任何改变。我不会在任何地方设置此配置,这只是一个示例。我可以将 sslEnabledProtocols 更改为“SSLv3”,然后每个浏览器都使用 SSLv3。
    猜你喜欢
    • 2020-04-16
    • 1970-01-01
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 2016-02-09
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多