【发布时间】:2015-05-20 14:12:20
【问题描述】:
我正在尝试在生产服务器上配置 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 上打不开。
无法在 Chrome 上打开(版本:42.0.2311.135), 错误-ERR_SSL_VERSION_OR_CIPHER_MISMATCH
无法在 Mozilla(版本:37.0.2)上打开, 错误: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"/>
我有几个问题:
- 在禁用 SSL3 的同时,浏览器是否也禁用了 SSL3 密码套件?
对于 TLSv1.2:JDK1.7 在服务器上是强制性的吗?
我需要做哪些配置来克服密码不匹配问题,并且网站可以在所有具有 TLS 的现代浏览器上打开?
我需要使用哪些密码?
【问题讨论】:
-
使用ssllabs.com/ssltest/index.html 测试您的服务器配置,以查看是否实际支持 TLS 1.x 以及您的服务器支持哪些密码套件。这部分和握手模拟部分可能有助于确定较新版本的 Chrome 和 Firefox 无法连接到您的站点的原因。
-
@AnandBhat :这不是公共领域。它只能在 Intranet 或 VPN 上连接。我之前尝试过上面的链接,但它无法解析域名。还有其他选择吗?
-
我发现了这个问题。它与 SSL 证书一起使用。当我尝试另一个域证书时,该应用程序正在 Mozilla、Chrome 和 IE 上运行。我会在一段时间内分享更新后的分辨率。
标签: java ssl browser https jboss6.x