如何在 Tomcat 中启用 TLS 重新协商?
How to enable TLS Renegotiation in Tomcat?
我想在 Tomcat 中启用 SSL 密钥重新协商,如 https://www.rfc-editor.org/rfc/rfc5746 中所述。 Tomcat 将为 SSL 使用 JSSE 实现。我应该使用哪个密码套件来启用它?
- Tomcat版本:6.0.44
- Java版本:Java1.8
- 协议 - TLS 1.2
Meta:我不确定这是否是主题,但安全性已暂停。必要时迁移。
所有 Java 8 和 7,以及 6u22 以上的 6,启用 根据 5746 的安全重新协商。See the documentation. 默认情况下,如果同伴提供或接受它;如果对等方不这样做,连接 仍然建立,但重新协商 未 完成,因为它 would/could 不安全。这可以通过两种方式改变:
设置系统 属性 sun.security.ssl.allowLegacyHelloMessages
为假。如果对等方不同意 5746,JSSE 将不会建立连接。这实际上并不更安全,但它明显更安全到简单头脑简单的基本扫描仪,以及关心头脑简单的基本扫描仪的人,如审计员
设置系统 属性 sun.security.ssl.allowUnsafeRenegotiation
为真。如果 应用程序依赖于消息后检查的对等凭据,则 安全性较低。由于客户端总是在任何数据之前检查服务器,这意味着 if 服务器请求(不需要)客户端身份验证,并在请求后检查身份验证状态,它可能会错误地接受伪造前缀请求。
5746 的协议实现 有时 在 ClientHello 中使用伪造的 "ciphersuite"(正式名称为 SCSV -- 信令密码套件值)。 JSSE client 可以使用 "ciphersuite" 名称 TLS_EMPTY_RENEGOTIATION_INFO_SCSV
配置是使用此 SCSV 还是扩展名。所有服务器始终使用扩展名,因此此配置对 JSSE 服务器没有影响。
我想在 Tomcat 中启用 SSL 密钥重新协商,如 https://www.rfc-editor.org/rfc/rfc5746 中所述。 Tomcat 将为 SSL 使用 JSSE 实现。我应该使用哪个密码套件来启用它?
- Tomcat版本:6.0.44
- Java版本:Java1.8
- 协议 - TLS 1.2
Meta:我不确定这是否是主题,但安全性已暂停。必要时迁移。
所有 Java 8 和 7,以及 6u22 以上的 6,启用 根据 5746 的安全重新协商。See the documentation. 默认情况下,如果同伴提供或接受它;如果对等方不这样做,连接 仍然建立,但重新协商 未 完成,因为它 would/could 不安全。这可以通过两种方式改变:
设置系统 属性
sun.security.ssl.allowLegacyHelloMessages
为假。如果对等方不同意 5746,JSSE 将不会建立连接。这实际上并不更安全,但它明显更安全到简单头脑简单的基本扫描仪,以及关心头脑简单的基本扫描仪的人,如审计员设置系统 属性
sun.security.ssl.allowUnsafeRenegotiation
为真。如果 应用程序依赖于消息后检查的对等凭据,则 安全性较低。由于客户端总是在任何数据之前检查服务器,这意味着 if 服务器请求(不需要)客户端身份验证,并在请求后检查身份验证状态,它可能会错误地接受伪造前缀请求。
5746 的协议实现 有时 在 ClientHello 中使用伪造的 "ciphersuite"(正式名称为 SCSV -- 信令密码套件值)。 JSSE client 可以使用 "ciphersuite" 名称 TLS_EMPTY_RENEGOTIATION_INFO_SCSV
配置是使用此 SCSV 还是扩展名。所有服务器始终使用扩展名,因此此配置对 JSSE 服务器没有影响。