首页 文章

Tomcat:TLSv1.2,强密码不起作用

提问于
浏览
4

我在端口8443上安装了Tomcat-7, configured support for TLSv1.2 .
我的连接器配置:
protocol = "org.apache.coyote.http11.Http11NioProtocol" SSLEnabled = "true" scheme = "https" secure = "true" sslProtocol = "TLSv1.2" sslEnabledProtocols = "TLSv1.2"

然后我配置了一个我想要使用的强密码列表 . TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

正如我所读到的,Tomcat可以使用Java JSSE或OpenSSL
JSSE协议= "org.apache.coyote.http11.Http11NioProtocol"
OpenSSL协议= "org.apache.coyote.http11.Http11AprProtocol"
我的tomcat连接器配置了JSSE协议 .

如果我使用SHA1添加以下密码,它可以工作 . (没有带有SHA1的GCM)TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA .

我已经下载了Java加密扩展策略文件 . 尝试使用Java 7和Java 8 .

在安装Cryptographic Extensions之前,我在启动Tomcat时遇到以下错误

INFO: Initializing ProtocolHandler ["http-nio-8443"]
mai 20, 2014 3:57:43 PM org.apache.tomcat.util.net.jsse.JSSESocketFactory     getEnableableCiphers
WARNING: None of the ciphers specified are supported by the SSL engine :     TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384

根据Java 7 Documentation,应支持GCM-SHA384和CBC-SHA384的所有这些强密码:http://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#ciphersuites

如果我稍微改变一下密码:

INFO: Initializing ProtocolHandler ["http-nio-8443"]
mai 20, 2014 4:21:11 PM org.apache.tomcat.util.net.jsse.JSSESocketFactory getEnableableCiphers
WARNING: None of the ciphers specified are supported by the SSL engine : TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA584,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA584,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA584,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA584

这表明我的Tomcat / Java支持我的密码列表 .

问题可能出在浏览器上吗?我尝试过最新的Chromium和Firefox . 在检查了一些提交后,我发现Chromium支持SHA256,SHA384和AES-GCM .

4 回答

  • 0

    发现Chromium和Firefox都不支持这些更高的密码 .
    可用的最强/最高密码是TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
    不支持SHA384且不支持AES_256_GCM

    https://www.ssllabs.com/ssltest/viewMyClient.html
    密码套房(按优先顺序排列)
    TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256(0xc02b)
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256(0xc02f)
    TLS_DHE_RSA_WITH_AES_128_GCM_SHA256(0x9e)
    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA(0xc00a)
    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA(0xc009)
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA(0xc013)
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA(0xc014)
    TLS_ECDHE_ECDSA_WITH_RC4_128_SHA(0xc007)
    TLS_ECDHE_RSA_WITH_RC4_128_SHA(0xc011)
    TLS_DHE_RSA_WITH_AES_128_CBC_SHA(0x33)
    TLS_DHE_DSS_WITH_AES_128_CBC_SHA(0x32)
    TLS_DHE_RSA_WITH_AES_256_CBC_SHA(0x39)
    TLS_RSA_WITH_AES_128_GCM_SHA256(0x9c)
    TLS_RSA_WITH_AES_128_CBC_SHA(0x2f)
    TLS_RSA_WITH_AES_256_CBC_SHA(0x35)
    TLS_RSA_WITH_3DES_EDE_CBC_SHA(0xa)
    TLS_RSA_WITH_RC4_128_SHA(0x5)
    TLS_RSA_WITH_RC4_128_MD5(0x4)

  • 3

    您引用的standard algorithm name documentation只是名称列表,它们是有效保留的,但不一定是实现的 .

    SunJSSE provider(Oracle JRE中的默认JSSE提供程序)未在Java 7中实现任何GCM密码套件 . 它们位于updated table for the Java 8 implementation中 .

    您可能还需要 sslProtocol="TLSv1.2" .

  • 1

    我是一名Web开发人员,面临使用Tomcat 7和Java7版本运行应用程序的类似问题,并找到了修复程序 .

    通过在tomcat的server.xml文件中添加以下属性

    ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,     TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"
    
  • 2

    对于Firefox 37.0.2,支持的密码列表是:

    TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)
    TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (0xc02f)
    TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA (0xc00a)
    TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
    TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
    TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
    TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33)
    TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x39)
    TLS_RSA_WITH_AES_128_CBC_SHA (0x2f)
    TLS_RSA_WITH_AES_256_CBC_SHA (0x35)
    TLS_RSA_WITH_3DES_EDE_CBC_SHA (0xa)
    

相关问题