ssl - JSSE 的 Tomcat SSL 配置 - 什么是 sslProtocol 属性

标签 ssl configuration tomcat7 java-7 jsse

规范:

Tomcat 7.0.52
Java 7.0_60

简介:

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

  • sslEnabledProtocols
  • sslProtocol

挫败感:

sslProtocol 属性似乎没有任何作用。看样子是彻底死了。只有 sslEnabledProtocols 可以影响使用的协议(protocol)。

例如:

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

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

问题:

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

谢谢。

最佳答案

Value SSLv3 won't change anything. If browser supports TLS1.2 then TLS1.2 will be used, if browser supports onlu TLS1.0 then TLS1.0 will be used.

这是不正确的。如果将 sslProtocol 设置为 SSLv3,将仅使用 SSLv3,具体来说,将不使用任何版本的 TLS。最好根本不指定此属性:这样您就可以使用您正在使用的 JSSE 版本支持的所有可能的 SSL/TLS 版本。

关于ssl - JSSE 的 Tomcat SSL 配置 - 什么是 sslProtocol 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24228427/

相关文章:

sip - 如何通过 Wireshark 解码 SIP/TLS(非默认 SIPS 端口)数据包?

c# - 如何模拟 C# 应用程序的配置

java - 设计具有可交换处理程序代码的通用处理程序类?

java - Spring mvc静态资源配置问题

java - JSOUP 如何使用 HTTPS 自签名认证登录

nginx - 如何使浏览器接受/信任自签名证书

configuration - require 没有使用 rollup 定义

Tomcat 7 无法启动

java - Spring Boot应用程序启动失败,tomcat 7 jdk1.8

google-app-engine - 用于在 App Engine 上使用 SSL 和自定义域路由到特定版本的 URL