我想在Tomcat中启用SSL密钥重新协商,如https://tools.ietf.org/html/rfc5746中所述 . Tomcat将使用JSSE实现SSL . 我应该使用哪个密码套件来启用相同的密码套件?
-
Tomcat版本:6.0.44
-
Java版本:Java 1.8
-
协议 - TLS 1.2
我想在Tomcat中启用SSL密钥重新协商,如https://tools.ietf.org/html/rfc5746中所述 . Tomcat将使用JSSE实现SSL . 我应该使用哪个密码套件来启用相同的密码套件?
Tomcat版本:6.0.44
Java版本:Java 1.8
协议 - TLS 1.2
1 回答
Meta:我不确定这是关于ontopic的,但是安全性是暂时的 . 必要时迁移 .
所有Java 8和7以及6从6u22开始,每5746启用安全重新协商.See the documentation.默认情况下,如果对等方提供或接受它,则使用它;如果对等方没有,则仍然 Build 连接但是没有进行重新协商,因为它会/可能不安全 . 这可以通过两种方式改变:
设置系统属性
sun.security.ssl.allowLegacyHelloMessages
false . 如果对等方不同意5746,JSSE将不会 Build 连接 . 这是 not actually more secure ,但它对于简单的基本扫描仪以及关心像审计员这样简单的基本扫描仪的人来说更安全设置系统属性
sun.security.ssl.allowUnsafeRenegotiation
true . 这是 less secure if 应用程序依赖于消息后检查的对等凭据 . 由于客户端始终在任何数据之前检查服务器,这意味着如果服务器请求(不要求)客户端身份验证,并在请求后检查身份验证状态,则它可能错误地接受伪造前缀请求 .5746的协议实现有时在ClientHello中使用伪造的"ciphersuite"(正式的SCSV - 信令密码套件值) . 可以使用"ciphersuite" name
TLS_EMPTY_RENEGOTIATION_INFO_SCSV
配置JSSE客户端是否使用此SCSV或扩展名 . 所有服务器始终使用扩展,因此此配置对JSSE服务器没有影响 .