7.5. 迁移 SSL 配置


7.5.1. 将简单的 SSL 配置迁移到 Elytron

如果您使用安全域保护到 JBoss EAP 服务器的 HTTP 连接,您可以使用本节中提供的信息将该配置迁移到 Elytron。

以下示例假定您在 security- realm 中配置了以下密钥存储

示例:使用安全域密钥存储进行 SSL 配置

<security-realm name="ApplicationRealm">
  <server-identities>
    <ssl>
      <keystore path="server.keystore" relative-to="jboss.server.config.dir" keystore-password="keystore_password" alias="server" key-password="key_password" />
    </ssl>
  </server-identities>
</security-realm>

按照以下步骤,使用 Elytron 实现相同的配置。

  1. elytron 子系统中创建 密钥 存储,以指定密钥存储的位置以及加密时使用的密码。此命令假定密钥存储是使用 keytool 命令生成的,其类型为 JKS

    /subsystem=elytron/key-store=LocalhostKeyStore:add(path=server.keystore,relative-to=jboss.server.config.dir,credential-reference={clear-text="keystore_password"},type=JKS)
  2. elytron 子系统中创建 key-manager,以指定上一步中定义的密钥存储、别名和密钥密码。

    /subsystem=elytron/key-manager=LocalhostKeyManager:add(key-store=LocalhostKeyStore,alias-filter=server,credential-reference={clear-text="key_password"})
  3. elytron 子系统中创建 server-ssl -context,它将引用上一步中定义的 key-manager

    /subsystem=elytron/server-ssl-context=LocalhostSslContext:add(key-manager=LocalhostKeyManager)
  4. https-listener 从传统 security-realm 切换到新创建的 Elytron 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=LocalhostSslContext)
    run-batch
  5. 重新加载服务器:

    reload

这会在服务器配置文件中产生以下 elytron 子系统配置:

<subsystem xmlns="urn:wildfly:elytron:4.0" ...>
  ...
  <tls>
    <key-stores>
      <key-store name="LocalhostKeyStore">
        <credential-reference clear-text="keystore_password"/>
        <implementation type="JKS"/>
        <file path="server.keystore" relative-to="jboss.server.config.dir"/>
      </key-store>
    </key-stores>
    <key-managers>
      <key-manager name="LocalhostKeyManager" key-store="LocalhostKeyStore"  alias-filter="server">
        <credential-reference clear-text="key_password"/>
      </key-manager>
    </key-managers>
    <server-ssl-contexts>
      <server-ssl-context name="LocalhostSslContext" key-manager="LocalhostKeyManager"/>
    </server-ssl-contexts>
  </tls>
</subsystem>

这会在服务器配置文件中产生以下 undertow 子系统配置:

<https-listener name="https" socket-binding="https" ssl-context="LocalhostSslContext" enable-http2="true"/>

如需更多信息,请参阅《如何为 JBoss EAP 配置服务器安全性 》中的 Elytron 子系统以及如何保护管理接口

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部