Команда 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 и не могу найти ресурсы по этой конкретной теме. Спасибо


person sleepster    schedule 08.09.2020    source источник
comment
Также только что обнаружил, что хранилище ключей elytron должно быть в формате jecks или jks, а не pcks12.   -  person sleepster    schedule 09.09.2020
comment
По умолчанию используется формат JCEKS, но вы можете использовать и другой формат.   -  person Ewoks    schedule 04.03.2021


Ответы (2)


Я думаю, что JBOSS вносит дополнительные изменения в сохраненные значения, поэтому использовать KeyTool невозможно.
Если вас беспокоит только открытый текст, отображаемый в истории оболочки, вы можете использовать command-from-being-stored-in-bash-history/32461#32461">HISTIGNORE, чтобы игнорировать команды, относящиеся к отображению паролей. По крайней мере, тогда в истории не будет незашифрованных паролей.
Надеюсь, это поможет!

person Elkip    schedule 08.09.2020

Вы можете использовать elytron-tool.sh со скрытым паролем или даже не указывать пароль с помощью команды, и подсказка запросит его.

person Ewoks    schedule 04.03.2021