2

Я использовал Emacs для шифрования текстового файла симметричным ключом. При расшифровке файла программа запускает окно для ввода пароля. Я случайно установил флажок "сохранить в диспетчере паролей", а затем клавишу ввода (без пароля). Судя по всему, пустой пароль был сохранен, и теперь я больше не запрашиваю пароль при открытии файла. Вместо этого я получаю следующее сообщение об ошибке:

gpg: AES encrypted data
gpg: gcry_kdf_derive failed: Invalid data
gpg: encrypted with 1 passphrase
gpg: decryption failed: No secret key

Это сообщение появляется при открытии файла в Emacs, а также при использовании gpg2 -d the_file.gpg .

Как я могу удалить пустой пароль и восстановить пароль?

Вещи, которые я уже попробовал (безуспешно):

  • перезагружать,
  • убить gpg-agent,
  • убить gnome-keyring-daemon,
  • удалите ключ с помощью морского конька (не работал, потому что морской конь не перечислил ключ)

Я использую Xubuntu 16.04.

1 ответ1

1

Ubuntu 16.04 и его производные в настоящее время поставляются с GPG 2.1.11, которую нельзя использовать без агента. Более того, начиная с версии 2.1 файл сокета агента фиксируется в ${GPG_HOMEDIR}/S.gpg-agent . Причина, по которой я это говорю, заключается в том, что я не знаю точно, как gpg-agent и gnome-keyring за то, чтобы действовать как агенты, владея этим файлом, но только один может владеть им одновременно.

Тот факт, что был установлен флажок для сохранения пароля, говорит о том, что вы использовали не pinentry через gpg-agent , а Seahorse через gnome-keyring . Я предлагаю прочитать раздел "Управление паролями" и попытаться найти плохую связь (пустой проход для этого конкретного файла) таким образом.

Так как вы упомянули, что ищете ключ в Seahorse. Если вы используете симметричное шифрование, пароль не будет связан ни с одним ключом шифрования GPG. (Я считаю, что GPG не хватает в этом отношении, подробности здесь.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .