【问题标题】:How to enable certain cipher-suites in WildFly?如何在 WildFly 中启用某些密码套件?
【发布时间】:2024-01-15 16:27:01
【问题描述】:

我想在我的 WildFly 应用服务器上显式启用某些密码套件。 因此我尝试在wildflys standalone.xml中编辑配置。

假设我想启用 AES128-GCM-SHA256 密码(密码套件名称来自:OpenSSL documentation)。

我已经像这样编辑了 WildFly 服务器的standalone.xml 文件:

<https-listener name="listener" socket-binding="https" security-realm="ssl-realm" enabled-cipher-suites="AES128-GCM-SHA256"/>

WildFly 正常启动,但是当我在浏览器中打开页面时出现错误消息。 铬说:

ERR_SSL_PROTOCOL_ERROR

火狐说:

ssl_error_internal_error_alert

我已经在 WildFly 8.1 和 8.2 上尝试过。

有谁能给我建议如何正确启用某些密码套件?

问候汤姆

【问题讨论】:

    标签: ssl encryption wildfly wildfly-8


    【解决方案1】:

    您必须在“subsystem undertow”->“server”中的“https-listener”中添加一个名为“enabled-cipher-suites”的属性。 可以在here 找到此配置的示例。

    不幸的是,这个例子在涉及到这个属性的值时是错误的。您不能将诸如“ALL:!MD5:!DHA”之类的东西命名为一些明确的密码套件。

    您必须通过它们的 SSL 或 TLS 密码套件名称而不是它们的 OpenSSL 名称来调用 em。 因此,您必须编写“TLS_RSA_WITH_AES_128_GCM_SHA256”,而不是“AES128-GCM-SHA256”。

    如果要命名多个套件,则必须使用“,”而不是“:”作为分隔符,以使混淆更完整。

    问候 本

    【讨论】:

    • 嗨,本!谢谢你的提示。正如您所注意到的,我尝试使用 OpenSSL 名称配置密码。您使用其他名称的建议对我来说非常有效。
    【解决方案2】:

    我可以确认本的回答。关于如何配置它的文档很少。我建议支持以下密码: TLS_RSA_WITH_AES_128_GCM_SHA256, TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 此外,“ALL”标签不起作用,最好的方法是列出您希望包含的标签,而不是您希望排除的标签“!”似乎不支持标记。

    【讨论】:

    • JBoss EAP 支持 openssl 语法,对于 Wildfly,这需要在 xnio 中进行一些更改。我在 issues.jboss.org/browse/XNIO-229 中为它编写了一个修复程序,但这个更改从未成功。我知道这应该与 WildFly 9 一起提供
    • 如果我使用您的密码,在 Firefox 中我得到“连接到 172.19.100.141:8443 期间发生错误。无法与对等方安全通信:没有通用加密算法。(错误代码: ssl_error_no_cypher_overlap)"
    最近更新 更多