Я пытаюсь запустить команду ciphertool.sh -Dconfigure
для шифрования паролей на моем сервере идентификации WSO2.
Я прошел обычный процесс выполнения команды, затем при появлении запроса ввел пароль хранилища ключей. Пример:
>./ciphertool.sh -Dconfigure
BUILD SUCCESSFUL
Total time: 20 seconds
Using CARBON_HOME: C:\Program Files\WSO2\Identity Server\5.7.0
Using JAVA_HOME: C:\Program Files\Java\jdk1.8.0_181
[Please Enter Primary KeyStore Password of Carbon Server : ]
Я хочу сделать процесс более автоматизированным и включить пароль хранилища ключей для Carbon Server при выполнении команды ciphertool.sh -Dconfigure
, НЕ при отображении запроса.
Я знаю, что вы можете использовать файл password-tmp
при расшифровке паролей, как описано здесь: https://docs.wso2.com/display/Carbon440/Resolving+Encrypted+Passwords
Это позволяет пропустить этап, на котором запрашивается пароль. Можем ли мы сделать что-то подобное при шифровании паролей?
Вещи, которые я пробовал:
- Команда "да":
yes PASSWORD| $WSO2IS_HOME/bin/ciphertool.sh -Dconfigure
- Использование "echo":
echo PASSWORD | $WSO2IS_HOME/bin/ciphertool.sh -Dconfigure
- Перенаправление из файла:
$WSO2IS_HOME/bin/ciphertool.sh -Dconfigure < PASSWORD.txt
Каждый раз, когда я запускаю эту команду, сценарий ciphertool, похоже, не находит пароль, который я пытаюсь передать. Ошибка выглядит следующим образом:
Exception in thread "main" org.wso2.ciphertool.exception.CipherToolException: String cannot be null
at org.wso2.ciphertool.utils.Utils.getValueFromConsole(Utils.java:54)
at org.wso2.ciphertool.utils.KeyStoreUtil.initializeCipher(KeyStoreUtil.java:48)
at org.wso2.ciphertool.CipherTool.main(CipherTool.java:53)