Каждый «ключ» OpenPGP состоит из нескольких независимых пар ключей (подключей), обычно для разных целей (например, один подраздел сертификации и подписи, один подраздел шифрования и т. Д.).
В GnuPG 2.1 и более поздних версиях закрытые ключи хранятся ~/.gnupg/private-keys-v1.d
и управляются gpg-agent . Для каждого подключа есть отдельный файл, зашифрованный вашей парольной фразой. Это означает, что вы можете легко обойти gpg-agent, но даже если вы это сделаете, вы все равно не сможете разблокировать файлы ключей, не зная вашу фразу-пароль.
Технически, каждый файл ключа может быть зашифрован с использованием другой парольной фразы (хотя пользовательский интерфейс gpg обычно этого не предлагает). По этой причине, когда gpg-agent сохраняет ваши парольные фразы, например, в GNOME Keyring, они также сохраняются отдельно для каждого подключа без проверки их идентичности.
Поэтому возможно, что ваша фраза была «запомнена» только для подраздела шифрования, но не для подписывающего подраздела. Поскольку они идентичны, этого достаточно, чтобы просто извлечь сохраненную ключевую фразу из GNOME Keyring.
Используйте secret-tool
для поиска ключей паролей в GNOME и посмотрите, работает ли какая-либо из них:
$ secret-tool search --all xdg:schema org.gnupg.Passphrase
(Вы также можете использовать графическую программу GNOME Seahorse, также называемую «Пароли и ключи», но она может привести к сбою или зависанию и поэтому не так полезна.)