1.4.2. 使用 Elytron


在 JBoss EAP 中,您可以使用 JBoss EAP 管理 CLI 或管理控制台为已部署的应用启用单向 SSL/TLS。

在管理 CLI 中,可通过两种方式启用单向 SSL/TLS:

使用安全命令

security enable-ssl-http-server 命令可用于为已部署的应用启用单向 SSL/TLS。

示例:向导使用

security enable-ssl-http-server --interactive

Please provide required pieces of information to enable SSL:
Key-store file name (default default-server.keystore): keystore.jks
Password (blank generated): secret
What is your first and last name? [Unknown]: localhost
What is the name of your organizational unit? [Unknown]:
What is the name of your organization? [Unknown]:
What is the name of your City or Locality? [Unknown]:
What is the name of your State or Province? [Unknown]:
What is the two-letter country code for this unit? [Unknown]:
Is CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown correct y/n [y]?
Validity (in days, blank default): 365
Alias (blank generated): localhost
Enable SSL Mutual Authentication y/n (blank n): n

SSL options:
key store file: keystore.jks
distinguished name: CN=localhost, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=Unknown
password: secret
validity: 365
alias: localhost
Server keystore file keystore.jks, certificate file keystore.pem and keystore.csr file
will be generated in server configuration directory.
Do you confirm y/n: y
Copy to Clipboard Toggle word wrap

注意

执行命令后,管理 CLI 将重新加载服务器。

现在应用程序启用了单向 SSL/TLS。

使用 Elytron 子系统命令

在 JBoss EAP 中,您可以使用 elytron 子系统和 undertow 子系统,为已部署的应用启用单向 SSL/TLS。

  1. 在 JBoss EAP 中配置密钥存储.

    /subsystem=elytron/key-store=httpsKS:add(path=/path/to/keystore.jks, credential-reference={clear-text=secret}, type=JKS)
    Copy to Clipboard Toggle word wrap

    如果密钥存储文件尚不存在,使用以下命令来生成示例密钥对:

    /subsystem=elytron/key-store=httpsKS:generate-key-pair(alias=localhost,algorithm=RSA,key-size=1024,validity=365,credential-reference={clear-text=secret},distinguished-name="CN=localhost")
    
    /subsystem=elytron/key-store=httpsKS:store()
    Copy to Clipboard Toggle word wrap
  2. 配置一个 key-manager,以引用您的 密钥存储

    /subsystem=elytron/key-manager=httpsKM:add(key-store=httpsKS, algorithm="SunX509", credential-reference={clear-text=secret})
    Copy to Clipboard Toggle word wrap
    重要

    您需要了解您使用的 JDK 提供了哪些关键管理器算法。例如,使用 SunJSSE 的 JDK 提供 PKIXSunX509 算法。

    上面的示例命令将 SunX509 用于密钥管理器算法。

  3. 配置引用您的 key -manager 的 server-ssl- context

    /subsystem=elytron/server-ssl-context=httpsSSC:add(key-manager=httpsKM, protocols=["TLSv1.2"])
    Copy to Clipboard Toggle word wrap
    重要

    您需要确定您要支持的 SSL/TLS 协议。上面的示例命令使用 TLSv1.2。您可以使用 cipher-suite-filter 参数指定允许哪些密码套件,以及使用-cipher-suites-order 参数来执行服务器密码套件顺序。使用-cipher-suites-order 属性默认设置为 true。这与旧 的安全 子系统行为不同,后者默认为遵从客户端密码套件顺序。

    警告

    红帽建议显式禁用 SSLv2、SSLv3 和 TLSv1.0,以便在所有受影响的软件包中明确禁用 TLSv1.1 或 TLSv1.2。

  4. 检查并查看 https-listener 是否配置为使用传统安全域进行其 SSL 配置。

    /subsystem=undertow/server=default-server/https-listener=https:read-attribute(name=security-realm)
    {
        "outcome" => "success",
        "result" => "ApplicationRealm"
    }
    Copy to Clipboard Toggle word wrap

    以上命令显示 https-listener 已配置为使用 ApplicationRealm 传统安全域进行 SSL 配置。Undertow 无法同时引用 Elytron 中的传统安全域和 ssl-context,因此您必须删除对旧安全域的引用。

    注意

    如果未定义 结果,则无需在下一步中移除对安全域的引用。

  5. 移除对传统安全域的引用,并将 https-listener 更新为从 Elytron 使用 ssl-context

    注意

    HTTPS-listener 必须始终配置 security-realm or ssl-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=httpsSSC)
    run-batch
    Copy to Clipboard Toggle word wrap
  6. 重新加载服务器:

    reload
    Copy to Clipboard Toggle word wrap

    现在应用程序启用了单向 SSL/TLS。

注意

您可以使用 disable- ssl-http-server 命令为已部署的应用程序禁用 单向 SSL/TLS。

security disable-ssl-http-server
Copy to Clipboard Toggle word wrap

此命令不会删除 Elytron 资源。它将系统配置为使用 ApplicationRealm 传统安全域进行 SSL 配置。

使用管理控制台

您可以使用管理控制台中的 SSL 向导配置 undertow 子系统,为应用启用 SSL。

访问向导:

  1. 访问管理控制台。如需更多信息,请参见《JBoss EAP 配置指南 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/configuration_guide/#management_console_overview 》中的管理控制台部分
  2. 导航到 Configuration Subsystems Web(Undertow) Server
  3. 单击要配置的服务器的名称。
  4. 单击 View
  5. 导航到 Listener HTTPS Listener
  6. 选择要为其启用 SSL 的监听程序,然后单击 Enable SSL 以启动向导

    向导会引导您完成以下场景以启用 SSL:

    • 您需要创建证书存储并生成自签名证书。
    • 您需要从 Let 的加密认证机构获得证书。
    • 您已在文件系统中拥有证书存储,但没有密钥存储配置。
    • 您已有使用有效证书存储的密钥存储配置。

使用向导时,您可以选择为相互身份验证创建一个信任存储。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat