Как удалить неверный пароль для файла, симметрично зашифрованного с помощью GPG
Я использовал 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 ответ
Ubuntu 16.04 и его производные в настоящее время поставляются с GPG 2.1.11, которую нельзя использовать без агента. Кроме того, начиная с версии 2.1 файл сокета агента фиксируется на ${GPG_HOMEDIR}/S.gpg-agent
, Я говорю это потому, что не знаю точно, как gpg-agent
а также gnome-keyring
сражайтесь за действия в качестве агентов, владеющих этим файлом, но только один может владеть им одновременно.
Наличие флажка для сохранения пароля говорит о том, что вы не использовали pinentry
с помощью gpg-agent
Морской конек через gnome-keyring
, Я предлагаю прочитать раздел "Управление паролями" и попытаться найти плохую связь (пустой проход для этого конкретного файла) таким образом.
Поскольку вы упомянули, что ищете ключ в Seahorse- если вы используете симметричное шифрование, пароль не будет связан ни с одним ключом шифрования GPG. (Я считаю, что GPG не хватает в этом отношении, подробности здесь.)