Хочу сразу отметить, что еще эту ошибку можно идентифицировать по таким сообщениям:
gpg: problem with the agent: Unsupported protection
[GNUPG:] ERROR get_passphrase 105
[GNUPG:] MISSING_PASSPHRASE
gpg: public key decryption failed: Operation cancelled
В общем, сегодня столкнулся с такой ошибкой в работе GnuPG на системе Gentoo. Файл шифровался у меня нормально:
# echo TEST MESSAGE | gpg -ea > test.gpg
Однако при попытке его расшифровки выдавались вот такие ошибки…
Тут я намеренно включил все опции отладки:
# gpg --decrypt --yes --no-sk-comment --status-fd 1 --no-tty --command-fd 0 --output test.txt test.gpg [GNUPG:] ENC_TO 1XXXXXXXXXXXXXX1 16 0 [GNUPG:] USERID_HINT 1XXXXXXXXXXXXXX1 Name Surname <email@example.com> [GNUPG:] NEED_PASSPHRASE 1XXXXXXX0XXXXXX1 2XXXXXXXXXXXXXX2 16 0 gpg: problem with the agent: Unsupported protection [GNUPG:] ERROR get_passphrase 105 [GNUPG:] MISSING_PASSPHRASE gpg: encrypted with 1024-bit ELG key, ID 0XXXXXX1, created 2011-12-31 "Name Surname <email@example.com>" gpg: public key decryption failed: Operation cancelled [GNUPG:] ERROR pkdecrypt_failed 99 [GNUPG:] BEGIN_DECRYPTION [GNUPG:] DECRYPTION_FAILED gpg: decryption failed: No secret key [GNUPG:] END_DECRYPTION
После долгих поисков, оказалось, что причиной проблемы была переменная окружения:
# set | grep DISPLAY DISPLAY=localhost:0
которую я установил ранее, чтобы заработал ClusterSSH. Вот так заработало:
# export DISPLAY=:0.0 # gpg -d test.gpg gpg: encrypted with 1024-bit ELG key, ID 0XXXXXX1, created 2011-12-31 "Name Surname <email@example.com>" TEST MESSAGE
Да уж, намучился я с этим GpG! А гугл ведет толкьо на эту страницу. Спасибо!