2

У меня есть подключ, который был перемещен на карту. Это привело к замене его заглушкой в локальной цепочке для ключей. Это означает, что каждый раз, когда я пытаюсь использовать этот подраздел, я получаю:

gpg: public key decryption failed: Card error
gpg: decryption failed: No secret key

Я хотел бы восстановить ключ из резервной копии сейчас. Как я могу это сделать?

Я попробовал gpg --edit-key ... и затем key n, toggle, delkey , но когда я снова попытался импортировать ключ, секретный ключ все равно остался без изменений:

gpg: Total number processed: 3
gpg:            new subkeys: 1
gpg:         new signatures: 1
gpg:       secret keys read: 3
gpg:  secret keys unchanged: 1

Как я могу заменить мою местную заглушку?

1 ответ1

4

Это известная проблема с GnuPG до версии 2.0. Вы не можете импортировать секретные ключи, если у вас уже есть некоторые импортированные.

Как решить проблему, зависит от вашей ситуации. Резервные копии, необходимые для всех решений!

  • Вы уже используете GnuPG 2.1.

    Вам очень повезло, так как проблемы не существует вообще. Ну, нет. Очевидно, вы еще не используете GnuPG 2.1, иначе вы бы не наткнулись на эту проблему. Но вы могли бы обновить.

    Вы даже можете использовать его на sime live CD, импортировать все (автоматически объединяя секретные ключи) и, наконец, экспортировать объединенный ключ. Теперь бросьте ключ в вашей обычной системе и снова импортируйте его.

  • Вы не добавили никаких подразделов, поэтому ваша резервная копия содержит все из них.

    Ты счастливчик. Просто экспортируйте все свои сертификаты, ... используя gpg --export [key-id] > public-key.pgp . Теперь полностью удалите ключ, используя gpg --delete-secret-and-public-keys [key-id] , импортируйте резервную копию, а затем открытый ключ: gpg --import [backup-file] public-key.pgp .

  • Вы изменили свои подразделы, поэтому вы должны объединить их.

    Невезение. GnuPG не справится с этим самостоятельно. Осталось два варианта:

    • Отмените измененные ключи и создайте новые впоследствии. Это простой способ ...
    • Существует инструмент командной строки под названием gpgsplit , который разделит ваши экспортированные ключи GnuPG на отдельные пакеты. Если у вас есть такие, вы можете собрать их вместе, включая все подключи, используя cat . Помните об использовании правильного порядка пакетов и не исключая того, что действительно требуется!

      Хотя это возможно, это, безусловно, трудный путь, и, возможно, потребуется немного прочитать спецификацию OpenPGP, чтобы получить представление о различных пакетах и о том, что они делают.

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