Я сделал свою собственную программу, которая использует gpg для шифрования и дешифрования (как симметричная, так и асимметричная). Он отлично работает с gpg1 на всех учетных записях и отлично работает с gpg2 для обоих видов шифрования и для симметричного дешифрования, но я все еще получаю приглашение на основе графического пароля для асимметричного дешифрования. Любые идеи о том, как передать его автоматически (без ввода данных пользователем)?
Имейте в виду, что --no-use-agent
устарел и ничего не делает в gpg2.
Также имейте в виду, что я попробовал --passphrase myPassphrase
и echo "myPassphrase|gpg --passphrase-fd 0
(по крайней мере, последний из которых отлично работает для симметричного дешифрования - например, для дешифрования вещей, зашифрованных с помощью -c
).
Также имейте в виду, что --batch
и --yes
не помогают.
У меня складывается впечатление (я этого не знаю), что GNU Privacy Guard больше не хочет поддерживать подобные вещи, что довольно неприятно.
Моя текущая обходная идея заключается в том, чтобы зашифровать с помощью gpg2 (чтобы обеспечить наиболее безопасное шифрование, если оно имеет значение) и расшифровать с помощью gpg1 - но тогда мне и всем, кто использует мою программу, придется вводить информацию о ключах в обе версии gpg (я я не в восторге от этого). Кроме того, я немного волнуюсь, что однажды они перестанут предлагать gpg1 (хотя я не знаю, что это произойдет).
Другая альтернатива - просто разрешить использование графического поля ввода GPG вместо моего пользовательского - что, я полагаю, не конец света.
Я использую Xubuntu 18.04 с GPG 2.2.4 с libcrypt 1.8.1.