如何在 WildFly 中启用某些密码套件?

How to enable certain cipher-suites in WildFly?

我想在我的 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 正常启动,但是当我在浏览器中打开页面时出现错误消息。 Chrome 说:

ERR_SSL_PROTOCOL_ERROR

Firefox 说:

ssl_error_internal_error_alert

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

有人可以给我建议如何正确启用某些密码套件吗?

问候汤姆

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

不幸的是,当涉及到此属性的值时,此示例是错误的。您不得将诸如 "ALL:!MD5:!DHA" 之类的东西命名,而应将其命名为一些显式密码套件。

您必须通过它们的 SSL 或 TLS 密码套件名称而不是它们的 OpenSSL 名称来调用它们。 所以你必须写 "TLS_RSA_WITH_AES_128_GCM_SHA256".

而不是 "AES128-GCM-SHA256"

为了避免混淆,如果您想命名多个套件,则必须使用“,”而不是“:”作为分隔符。

问候 本

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