1.11.10. 自定义 SSL 组件


elytron 子系统中配置 SSL/TLS 时,您可以提供和使用以下组件的自定义实施:

  • key-store
  • key-manager
  • trust-manager
  • client-ssl-context
  • server-ssl-context
警告

不建议在 trust-manager 之外提供自定义实施,但不了解 Java 安全套接字扩展(JSSE)。

重要

当使用 FIPS 时,无法使用自定义信任管理器或密钥管理器,因为为了安全起见,FIPS 需要将这些管理器嵌入 JDK 中。通过实施可验证 X509 事实的 SecurityRealm,可以实现类似的行为。

在创建自定义 Elytron 组件实施时,它们必须展示适当的功能和要求。有关功能和要求的详情,请参阅 JBoss EAP 安全架构指南的功能 https://access.redhat.com/documentation/en-us/red_hat_jboss_enterprise_application_platform/7.3/html-single/security_architecture/#capabilities_and_requirements 和要求部分。每个组件的实施细节由 JDK 供应商提供。

1.11.10.1. 将自定义组件添加到 Elytron

下列步骤描述了在 Elytron 中添加自定义组件。

  1. 将包含自定义组件提供程序的 JAR 作为模块添加到 JBoss EAP 中,声明任何必要的依赖项,如 javax.api

    module add --name=MODULE_NAME --resources=FACTORY_JAR --dependencies=javax.api,DEPENDENCY_LIST
    Copy to Clipboard Toggle word wrap
    重要

    使用 模块 管理 CLI 命令添加和删除模块,仅作为技术预览提供。此命令不适合在受管域中使用,或在远程连接管理 CLI 时使用。在生产环境中,应当手动添加和删除模块。如需更多信息,请参阅 手动创建自定义模块并手动 删除 JBoss EAP 配置指南中的自定义模块部分

    技术预览功能不包括在红帽生产服务级别协议(SLA)中,且其功能可能并不完善。因此,红帽不建议在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。

    如需有关技术预览功能支持范围的信息,请参阅红帽客户门户网站中的技术预览功能支持范围。

  2. 当组件添加到 elytron 子系统时,将使用 java.util.ServiceLoader 来发现提供程序。或者,也可通过定义 provider-loader 来提供对提供程序的引用。有两种创建加载器的方法,并且每个组件只能实施一个。

    • 在定义 provider-loader 时直接引用供应商:

      /subsystem=elytron/provider-loader=LOADER_NAME:add(class-names=[CLASS_NAME],module=MODULE_NAME)
      Copy to Clipboard Toggle word wrap
    • META-INF/services/java.security.Provider 中包含对提供程序的引用。当使用 org.kohsuke.metain f-services 中的 @MetaInfServices 注释时,会自动创建此引用。当只使用这个方法时,需要由 provider-loader 引用该模块,如下所示:

      /subsystem=elytron/provider-loader=LOADER_NAME:add(module=MODULE_NAME)
      Copy to Clipboard Toggle word wrap
  3. 将自定义组件添加到 Elytron 的配置中,使用适当的元素来添加类型并引用任何定义的提供程序。

    /subsystem=elytron/COMPONENT_NAME=NEW_COMPONENT:add(providers=LOADER_NAME,...)
    Copy to Clipboard Toggle word wrap

    例如,要定义信任管理器,需要使用 trust-manager 元素,如下命令所示:

    示例:添加自定义信任管理器

    /subsystem=elytron/trust-manager=newTrustManager:add(algorithm=MyX509,providers=customProvider,key-store=sampleKeystore)
    Copy to Clipboard Toggle word wrap

  4. 定义之后,可以从其他元素引用该组件。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat