【问题标题】:Invalid Keystore format exception while configuring Wildfly 8.0.0 with VAULT to encrypt keystore password使用 VAULT 配置 Wildfly 8.0.0 以加密密钥库密码时出现无效的密钥库格式异常
【发布时间】:2018-06-27 12:05:08
【问题描述】:

我已使用 JDK 1.8 u162 配置 wildfly 8.0.0 服务器,通过创建自签名证书为我的应用程序提供 HTTPS 支持。为了成功配置它,我在standalone.xml 文件中以明文形式指定了密钥库密码,并且它工作正常。
现在我想以加密模式而不是明文来制作密钥库密码。为此,我使用了 VAULT 脚本并执行了所有需要的步骤来生成 VAULT.dat 文件和标签。在standalone.xml 文件中指定require 设置后,当我启动wild-fly 服务器时,它给了我java.io.IOException: Invalid keystore format exception and due to that system was not deploy.
我已执行以下步骤:
1) 要生成密钥库文件,我使用了以下命令并按照说明进行操作。
keytool -genkey -keyalg RSA -alias vault -keystore osp_keystore.jks -validity 365 -keysize 2048

2) 我打开了 VAULT 窗口 (vault.bat) 来加密密钥库密码。我已经执行了所有需要的步骤,这些步骤为我提供了在 standlone.xml 文件中进行配置的以下信息。

<vault>
  <vault-option name="KEYSTORE_URL" value="D:\osp\standalone\configuration\osp_keystore.jks"/>
  <vault-option name="KEYSTORE_PASSWORD" value="MASK-ZCA9zDtIIr7BbsQlgnChk"/>
  <vault-option name="KEYSTORE_ALIAS" value="ospvault"/>
  <vault-option name="SALT" value="ASDF1234"/>
  <vault-option name="ITERATION_COUNT" value="50"/>
  <vault-option name="ENC_FILE_DIR" value="D:\osp\standalone\configuration\vault\"/>
</vault>

Vault Block:keystore
Attribute Name:password
VAULT::keystore::password::1

3) 我已经配置了带有以下标签的standalone.xml 文件。
a) 在&lt;/extensions&gt;&lt;management&gt; 标签之间指定上述标签。
b) 在&lt;security-realm name="ApplicationRealm"&gt; 标签下添加以下标签。

<server-identities>
                 ssl><keystore path=" osp_keystore.jks" relative-to="jboss.server.config.dir" keystore-password="${VAULT::keystore::password::1}" /></ssl>
                </server-identities>

c) 在&lt;subsystem xmlns="urn:jboss:domain:undertow:1.0"&gt; 标签下,用HTTPS 绑定ApplicationRealm。

<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm"/>

【问题讨论】:

    标签: java ssl wildfly keystore


    【解决方案1】:

    服务器身份的密钥库和保险库的密钥库是两个不同的密钥库。 生成密钥库的示例:

    keytool -genseckey -alias vault -storetype jceks -keyalg AES -keysize 128 -storepass vault123 -keypass vault123 -validity 365 -keystore ${jboss-config}\vault\vault.keystore
    

    然后在standalone.xml中:

    <vault-option name="KEYSTORE_URL" value="${jboss-config}/vault/vault.keystore"/>
    

    强烈推荐阅读: https://access.redhat.com/documentation/en-us/jboss_enterprise_application_platform/6.1/html/security_guide/Create_a_Java_Keystore_to_Store_Sensitive_Strings

    【讨论】:

    • 您共享的命令生成:keytool error: java.io.IOException: Invalid keystore format
    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多