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 实现相同的配置。
在
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)在
elytron子系统中创建、别名和密钥密码。key-manager,以指定上一步中定义的密钥存储/subsystem=elytron/key-manager=LocalhostKeyManager:add(key-store=LocalhostKeyStore,alias-filter=server,credential-reference={clear-text="key_password"})在
elytron子系统中创建server-ssl。-context,它将引用上一步中定义的 key-manager/subsystem=elytron/server-ssl-context=LocalhostSslContext:add(key-manager=LocalhostKeyManager)将
https-listener从传统security-realm切换到新创建的 Elytronssl-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重新加载服务器:
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 子系统以及如何保护管理接口 。