A.2. 配置您的环境以使用 BouncyCastle 提供者


您可以将 JBoss EAP 安装配置为使用 BouncyCastle 提供程序。红帽不提供 Bouncy Castle JAR,且必须直接从 Bouncy Castle 获取。

重要

当指定 BouncyCastle 供应商时,必须使用 Java 8,因为 BouncyCastle API 仅认证至 Java 8。

  1. 在 JDK 的类路径中包含 BouncyCastle JAR,以 with bc -fips 和 bctls-fips 开始。对于 Java 8,这可以通过将 JAR 文件放在 $JAVA_HOME/lib/ext 中来实现。
  2. 使用以下任一方法,将 BouncyCastle 供应商包含在 Java 安全配置文件中:

    • 您的 JDK 中提供了默认配置文件 java.security,可以更新为包含 BouncyCastle 提供程序。如果未指定其他安全配置文件,则将使用此文件。有关此文件的位置,请参阅 JDK 厂商的文档。
    • 定义自定义 Java 安全配置文件,并通过添加 -Djava.security.properties==/path/to/java.security.properties 系统属性来 引用该文件。

      使用两个等同表示引用时,会覆盖默认策略,并且仅使用参考文件中定义的提供程序。当使用一个等同符号时,如在 -Djava.security.properties=/path/to/java.security.properties 中一样,提供程序会附加到默认安全文件中,因此在两个文件中都指定了密钥时,首选使用参数中传递的文件。当有多个 JVM 运行于需要不同安全设置的同一主机上运行时,此选项很有用处。

    定义这些提供程序的示例配置文件如下所示:

    示例: BouncyCastle 安全策略

    # We can override the values in the JRE_HOME/lib/security/java.security
    # file here.  If both properties files specify values for the same key, the
    # value from the command-line properties file is selected, as it is the last
    # one loaded.  We can reorder and change security providers in this file.
    security.provider.1=org.bouncycastle.jcajce.provider.BouncyCastleFipsProvider
    security.provider.2=org.bouncycastle.jsse.provider.BouncyCastleJsseProvider fips:BCFIPS
    security.provider.3=sun.security.provider.Sun
    security.provider.4=com.sun.crypto.provider.SunJCE
    
    # This is a comma-separated list of algorithm and/or algorithm:provider
    # entries.
    #
    securerandom.strongAlgorithms=DEFAULT:BCFIPS

    重要

    如果更新默认配置文件,则此文件中的每个其他 security.provider.X 行(如 security.provider.2 )都必须增加 X 的值,以确保此提供程序具有优先级。每个提供程序都必须具有唯一的优先级。

  3. elytron 子系统配置为专门用于 BouncyCastle 提供程序。默认情况下,系统配置为同时使用 elytronopenssl 提供程序。由于它还包含 TLS 实施,因此建议禁用 OpenSSL 提供程序,以确保使用来自 Bouncy Castle 的 TLS 实施。

    /subsystem=elytron:write-attribute(name=final-providers,value=elytron)
  4. 重新加载服务器以使更改生效。

    reload
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部