在 JBOSS 6 AS 上配置 TLS 会导致 ERR_SSL_VERSION_OR_CIPHER_MISMATCH(在 Chrome 中)或 ssl_error_no_cypher_overlap(在 Mozilla 中)错误

Configuring TLS on JBOSS 6 AS leads to an ERR_SSL_VERSION_OR_CIPHER_MISMATCH(In Chrome) or ssl_error_no_cypher_overlap(In Mozilla) error

我正在尝试在生产服务器上配置 TLS。

应用程序服务器:JBoss 6.1.0 Final

JDK: 1.6.31

以下是来自 JBOSS_HOME/server/default/deploy/jbossweb.sar/server.xml 的代码:

<Connector name="https" protocol="HTTP/1.1" SSLEnabled="true" 
       port="${jboss.web.https.port}" address="${jboss.bind.address}"
       scheme="https" secure="true" clientAuth="false" 
       keystoreFile="${jboss.server.home.dir}/conf/Keystore.jks"
       keystorePass="dqwssl" server="Server details not present2"
       sslProtocols="TLSv1,TLSv1.1,TLSv1.2"/>

我将 Keystore.jks 文件保存在 JBOSS_HOME/server/default/conf/

HTTPS 配置后,网站在 IE8 上打开,但在 Chrome 和 Mozilla 上无法打开。

Not opening on Chrome(Version:42.0.2311.135), Error-ERR_SSL_VERSION_OR_CIPHER_MISMATCH

Not opening on Mozilla(Version:37.0.2), Error:ssl_error_no_cypher_overlap

但是,它在 Chrome(v40 之前)和 Mozilla(v33 之前)的早期版本上打开。

我在各种网站和博客上搜索了这个问题。 我发现 SSL3 被禁用,因为它不安全(POODLE 和 BEAST 攻击)。所有现代浏览器都支持 TLSv1.2。但是在禁用 SSL3 的同时,他们也禁用了 SSL3 密码套件。

我试过 HTTP 连接器中的密码配置,例如:

<Connector name="https" protocol="HTTP/1.1" SSLEnabled="true" 
       port="${jboss.web.https.port}" address="${jboss.bind.address}"
       scheme="https" secure="true" clientAuth="false" 
       keystoreFile="${jboss.server.home.dir}/conf/Keystore.jks"
       keystorePass="dqwssl" server="Server details not present2"
       sslProtocols="TLSv1,TLSv1.1,TLSv1.2" cipher="TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_3DES_EDE_CBC_SHA,TLS_DHE_DSS_WITH_AES_256_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256,SSL_RSA_WITH_RC4_128_SHA,TLS_KRB5_WITH_3DES_EDE_CBC_SHA"/>

我有几个问题:

  1. 在禁用 SSL3 的同时,浏览器是否也禁用了 SSL3 密码套件?
  2. 对于 TLSv1.2:JDK1.7 在服务器上是强制性的吗?

  3. 我需要做哪些配置才能克服密码不匹配问题并且该网站可以在所有支持 TLS 的现代浏览器上打开?

  4. 我需要使用哪些密码?

我想通了这个问题。出现此问题是因为未正确生成 SSL 证书。 CA 证书未导入到密钥库文件中。由于这个错误,该应用程序不是 运行 Mozilla 和 Chrome 更新版本。但它在 IE 上工作。它还在 Mozilla 和 Chrome 以前的版本上工作。无法弄清楚为什么。可能是因为较新的更新,他们应该阻止这种情况。