3.2. 密码 Vault


配置 JBoss EAP 和相关应用需要潜在的敏感信息,如用户名和密码。密码库功能不以纯文本形式存储在配置文件中,可用于屏蔽密码信息并将其存储在加密密钥存储中。密码存储之后,可以将引用包含在管理 CLI 命令或部署到 JBoss EAP 的应用中。

密码库使用 Java 密钥存储作为其存储机制。密码库由两个部分组成:存储和密钥存储。Java 密钥存储用于存储密钥,用于加密或解密 Vault 存储中的敏感字符串。

重要

由 Java 运行环境(JRE)提供的 keytool 实用程序可用于执行此步骤。找到 文件的路径,该文件在 Red Hat Enterprise Linux 上是 /usr/bin/keytool

JCEKS 密钥存储实施因 Java 供应商而异,因此必须使用来自所用 JDK 的相同供应商的 keytool 实用程序来生成密钥存储。在不同供应商的 JDK 在运行 JDK 的 JBoss EAP 7 实例中使用密钥工具生成的密钥存储,将导致以下例外: java.io.IOException: com.sun.crypto.provider.SealedObjectForKeyProtector

3.2.1. 设置密码 Vault

按照以下步骤设置和使用密码库。

  1. 创建用于存储密钥存储和其他加密信息的目录。

    此流程的其余部分假定 目录为 EAP_HOME/vault/。由于此目录将包含敏感信息,因此应只能供有限用户访问。至少,运行 JBoss EAP 的用户帐户需要读写访问权限。

  2. 确定要与 keytool 实用程序一起使用的参数。

    决定以下参数的值:

    Alias
    别名是密码库或密钥存储中存储的其他数据的唯一标识符。别名不区分大小写。
    storetype
    storetype 指定密钥存储类型。建议值 jceks
    keyalg
    用于加密的算法。使用 JRE 和操作系统的文档,了解其他哪些选项可用。
    keysize
    加密密钥的大小会影响通过暴力破解的难度。有关适当值的详情,请查看使用 keytool 实用程序分发的文档。
    storepass
    storepass 的值是用于对密钥存储进行身份验证的密码,以便能够读取该密钥。密码长度必须至少为 6 个字符,必须在访问密钥存储时提供。如果省略此参数,则按键tool 实用程序将提示其在命令执行后输入。
    keypass
    keypass 的值是用于访问特定密钥的密码,并且必须与 storepass 参数的值匹配。
    有效期
    有效期值是密钥有效的期间(按天数计)。
    keystore

    keystore 的值是要在其中存储密钥存储的值的文件路径和文件名。密钥存储文件在数据首次添加到其中时创建。确保使用正确的文件路径分隔符:/(正斜杠)用于红帽企业 Linux 和类似操作系统,\(反斜杠)用于 Windows Server。

    keytool 实用程序还有许多其他选项。如需了解更多详细信息,请参阅 JRE 或操作系统的文档。

  3. 运行 keytool 命令,确保 keypassstorepass 包含相同的值。

    $ keytool -genseckey -alias vault -storetype jceks -keyalg AES -keysize 128 -storepass vault22 -keypass vault22 -validity 730 -keystore EAP_HOME/vault/vault.keystore
    Copy to Clipboard Toggle word wrap

    这将生成已在 EAP_HOME/vault/vault.keystore 文件中创建的密钥存储。它存储带有别名库的单一密钥,它将用于存储 JBoss EAP 的加密字符串(如密码)。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat