是否可以使用Keytool命令将PasswordCredential添加到elytron密钥库?

问题描述

我正在运行JBOSS EAP 7.3服务器,并尝试向elytron密钥库添加私钥。 以下作品:

$JBOSS_HOME/bin/jboss-cli.sh --connect --command=/subsystem=elytron/credential-store=keystore:add-alias(alias='keyalias',secret-value='password')

但是这里的问题是密码在命令行上以纯文本显示。我试图使用keytool命令手动添加密钥:

keytool -importpass -alias 'keyalias' -v -keystore $JBOSS_HOME/keystore.p12 -storetype pkcs12

然后提示我输入所需的密钥库密码和密钥,但是尝试在服务器中引用此密钥会导致以下错误

{ "outcome" => "Failed","failure-description" => {"WFLYCTL0080: Failed services" => { Caused by: org.jboss.as.controller.OperationFailedException: WFLYELY00920: Credential alias 'keyalias' of credential type 'org.wildfly.security.credential.PasswordCredential' does not exist in the store [ \"WFLYELY00920: Credential alias 'keyalias' of credential type 'org.wildfly.security.credential.PasswordCredential' does not exist in the store\" ]"}},"rolled-back" => true,"response-headers" => {"process-state" => "reload-required"} }

是否可以通过密钥库工具添加elytron密钥?或者是否可以通过某种方式添加键,以使明文值不会在命令行中公开? 我是JBOSS的新手,很难找到有关此特定主题的资源。谢谢

解决方法

我认为JBOSS会对存储的值进行其他更改,因此无法使用KeyTool。
如果仅关注shell历史记录中显示的纯文本,则可以使用HISTIGNORE环境变量来忽略与显示密码有关的命令。至少在历史记录中不会有纯文本密码。
希望这会有所帮助!

,

您可以使用带有掩码密码的 elytron-tool.sh,甚至不提供带有命令和提示的密码