【发布时间】: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) 在</extensions> 和<management> 标签之间指定上述标签。
b) 在<security-realm name="ApplicationRealm"> 标签下添加以下标签。
<server-identities>
ssl><keystore path=" osp_keystore.jks" relative-to="jboss.server.config.dir" keystore-password="${VAULT::keystore::password::1}" /></ssl>
</server-identities>
c) 在<subsystem xmlns="urn:jboss:domain:undertow:1.0"> 标签下,用HTTPS 绑定ApplicationRealm。
<https-listener name="https" socket-binding="https" security-realm="ApplicationRealm"/>
【问题讨论】: