1.9.2. Elytron 与远程 HTTP 连接器集成
通过引用 undertow 系统中的连接器和 elytron 子系统中定义的 SASL 身份验证工厂来指定远程 HTTP 连接。HTTP 连接器为基于 HTTP 升级的远程连接器提供配置,并连接到 connector -ref 属性指定的 HTTP 侦听器。
连接器 的属性如下:
connector-ref-
对预定义的
undertow侦听器的引用。 sasl-authentication-factory- 对 SASL 身份验证工厂的引用,用于向这个连接器验证请求。有关创建此工厂的更多信息,请参阅 创建 Elytron Authentication Factory。
例如,可以按如下所示添加 http-connector,其中 CONNECTOR_NAME 引用 undertow 侦听器,而 SASL_FACTORY_NAME 是 elytron 子系统中已定义的身份验证工厂。
/subsystem=remoting/http-connector=HTTP_CONNECTOR_NAME:add(connector-ref=CONNECTOR_NAME,sasl-authentication-factory=SASL_FACTORY_NAME)
在删除 HTTP 连接器上启用一次性 SSL
在 JBoss EAP 中启用单向 SSL/TLS 之前,您必须配置引用定义的 key-manager 的密钥 存储、key-manager 和 server-ssl-context 。
以下 SASL 机制支持到外部安全频道(如 SSL/TLS)的通道绑定:
- GS2-KRB5-PLUS
- SCRAM-SHA-1-PLUS
- SCRAM-SHA-256-PLUS
- SCRAM-SHA-384-PLUS
- SCRAM-SHA-512-PLUS
要使用上述任何机制,可以配置自定义 SASL 工厂,也可以修改预定义的 SASL 验证工厂之一以提供任何这样的机制。可以在客户端上使用 SASL 机制选择器来指定适当的 SASL 机制机制。
检查
https-listener是否配置为使用传统安全域进行其 SSL 配置。/subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm) { "outcome" => "success", "result" => "ApplicationRealm" }以上命令显示
https-listener已配置为使用ApplicationRealm传统安全域进行 SSL 配置。Undertow 无法同时引用 Elytron 中的传统安全域和ssl-context,因此您必须删除对旧安全域的引用。注意如果未定义结果,则无需在下一步中移除对安全域的引用。移除对传统安全域的引用,并将
https-listener更新为从 Elytron 使用ssl-context。注意HTTPS-listener必须始终配置security-realmorssl-context。在两种配置之间更改时,命令必须以单批形式执行,如下所示:batch /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm) /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context, value=SERVER_SSL_CONTEXT) run-batch创建一个 HTTP 连接器来引用 HTTPS 侦听程序和 SASL 身份验证工厂。
/subsystem=remoting/http-connector=ssl-http-connector:add(connector-ref=https,sasl-authentication-factory=SASL_FACTORY)重新加载服务器:
reload- 配置客户端以信任服务器证书。例如,如果使用浏览器,您需要将可信证书导入到浏览器的信任存储中。
在删除 HTTP 连接器上启用双向 SSL/TLS
在 JBoss EAP 中启用双向 SSL/TLS 之前,您必须为客户端和服务器证书配置单独的 密钥存储 组件、服务器 密钥 服务器信任存储 存储 的密钥管理器、用于的 trust-manager , 以及引用定义的 key 。
-manager 和 context trust-manager 的 server- ssl-
以下 SASL 机制支持到外部安全频道(如 SSL/TLS)的通道绑定:
- GS2-KRB5-PLUS
- SCRAM-SHA-1-PLUS
- SCRAM-SHA-256-PLUS
- SCRAM-SHA-384-PLUS
- SCRAM-SHA-512-PLUS
要使用上述任何机制,可以配置自定义 SASL 工厂,也可以修改预定义的 SASL 验证工厂之一以提供任何这样的机制。可以在客户端上使用 SASL 机制选择器来指定适当的 SASL 机制机制。
检查
https-listener是否配置为使用传统安全域进行其 SSL 配置。/subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm) { "outcome" => "success", "result" => "ApplicationRealm" }以上命令显示
https-listener已配置为使用ApplicationRealm传统安全域进行 SSL 配置。Undertow 无法同时引用 Elytron 中的传统安全域和ssl-context,因此您必须删除对旧安全域的引用。注意如果未定义结果,则无需在下一步中移除对安全域的引用。移除对传统安全域的引用,并将
https-listener更新为从 Elytron 使用ssl-context。注意HTTPS-listener必须始终配置security-realmorssl-context。在两种配置之间更改时,命令必须以单批形式执行,如下所示:batch /subsystem=undertow/server=default-server/https-listener=https:undefine-attribute(name=security-realm) /subsystem=undertow/server=default-server/https-listener=https:write-attribute(name=ssl-context, value=SERVER_SSL_CONTEXT) run-batch创建一个 HTTP 连接器来引用 HTTPS 侦听程序和 SASL 身份验证工厂。
/subsystem=remoting/http-connector=ssl-http-connector:add(connector-ref=https,sasl-authentication-factory=SASL_FACTORY)重新加载服务器:
reload配置您的客户端以信任服务器证书,并将其证书呈现给服务器。
您需要将客户端配置为向服务器提供可信客户端证书,以完成双向 SSL/TLS 身份验证。例如,如果使用浏览器,您需要将可信证书导入到浏览器的信任存储中。
现在在远程 HTTP 连接器上启用了双向 SSL/TLS。
如果您 同时 定义了 security-realm 和 ssl-context,JBoss EAP 将使用由 ssl-context 提供的 SSL/TLS 配置。