Keepassxc-cli не открывает базу данных

Мой пароль хранится в файле, и мне нужно автоматизировать разблокировку базы данных KeepassXC с помощью интерфейса CLI с помощью простой команды в Windows (предпочтительно PowerShell).

      Get-Content -Encoding UTF8 L:\k.txt | .\keepassxc-cli.exe open --key-file '.\temp.keyx' '.\temp.kdbx'

Но я продолжаю получать следующую ошибку с сообщением о неправильном пароле:

Ошибка при чтении базы данных: предоставлены неверные учетные данные, повторите попытку.
Если это произойдет снова, возможно, файл базы данных поврежден. (несоответствие HMAC)

Теперь, если я просто побегуGet-Contentкоманду и скопируйте вывод следующим образом:

      Get-Content -Encoding UTF8 L:\k.txt | Set-Clipboard

и вставьте его в графический интерфейс KeepassXC, он работает (БД разблокируется, что означает, что пароль правильный, а файл базы данных не поврежден), но если я вставлю его в запрос пароля в CLI, это не сработает, и я получу вышеуказанное сообщение об ошибке.

Почему так? Это ошибка в CLI или я что-то делаю не так?

1 ответ

Основываясь на ответе @harrymc, я рассмотрел способы изменения кодовой страницы по умолчанию для PowerShell и на основе этого ответа , установив
$OutputEncoding = [System.Text.UTF8Encoding]::new(),
мне удалось изменить кодовую страницу на65001-UTF8для этого сеанса оболочки.

Команда:
Get-Content -Encoding UTF8 L:\k.txt | .\keepassxc-cli.exe open --key-file '.\temp.keyx' '.\temp.kdbx'не работает, то есть появляется приглашение оболочки, которое не отвечает (в приглашении не отражается ввод с клавиатуры или мыши), а также база данных по-прежнему выглядит заблокированной глобально.

Но другая команда:
Get-Content -Encoding UTF8 L:\k.txt | .\keepassxc-cli.exe show --key-file '.\temp.keyx' '.\temp.kdbx' 'stackoverflow'
Показывает свойства записи, хранящиеся в базе данных, подразумевая, что база данных была успешно разблокирована.

Некоторые другие команды, такие какkeepassxc-cli.exe ls <database>иkeepassxc-cli.exe search <database> 'user@outlook.com'также успешно работают.

Другие вопросы по тегам