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
    Copy to Clipboard Toggle word wrap

    重要

    如果更新默认配置文件,则此文件中的每个其他 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)
    Copy to Clipboard Toggle word wrap
  4. 重新加载服务器以使更改生效。

    reload
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat