搜索

A.2. 配置您的环境以使用 BouncyCastle 供应商

download PDF

您可以将 JBoss EAP 安装配置为使用 BouncyCastle 供应商。红帽不提供 Bouncy Castle JARs,它必须直接从 Bouncy Castle 获取。

重要

当指定 BouncyCastle 提供者时,必须使用 Java 8,因为 BouncyCastle API 只能被认证为 Java 8。

  1. 在您的 JDK 的 classpath 中包含 BouncyCastle JARs,以 bc-fipsbctls-fips 开头。对于 Java 8,这通过将 JAR 文件放在 $JAVA_HOME/lib/ext 中来实现。
  2. 使用以下任一方法,在您的 Java 安全配置文件中包括 BouncyCastle 供应商:

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

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

    下面显示了一个定义这些提供程序的示例配置文件。

    示例:BuncyCastle 安全策略

    # 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 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

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

© 2024 Red Hat, Inc.