2

У меня есть пара ключей GnuPG с помощью мастер - ключа (только удостоверяет возможность) и 3 подразделов (знак, шифровать и Аутентифицировать возможности соответственно). На самом деле, когда я начинаю, у меня есть только закрытые ключи подразделов (у меня есть заглушка, помеченная # , вместо главного закрытого ключа)

Я делаю следующее:

  1. Я перечисляю закрытые ключи (gpg --list-secret-keys). Существует заглушка главного ключа (#) и три подключа.
  2. Я зашифровываю сообщение с помощью открытого ключа шифрования (gpg -e USER)
  3. Я расшифровываю сообщение (gpg -d): Хорошо.
  4. Я удаляю де три подраздела (gpg --edit-key). gpg --delete-secret-keys не работает ни с мастер-ключом (это всего лишь заглушка), ни с подразделами.
  5. Я удаляю открытый главный ключ (gpg --delete-keys)
  6. Я пытаюсь расшифровать сообщение с шага 2: Не удалось, нет закрытых ключей, ОК. Я перечисляю закрытые ключи с помощью gpg --list-secret-keys: ключей нет
  7. Я убиваю gpg-agent (killall gpg-agent)
  8. Я снова импортирую открытые ключи с сервера ключей (gpg --receive-keys)
  9. Я пытаюсь расшифровать сообщение с шага 2, и неожиданно я могу расшифровать его, введя фразу-пароль, которая защищает частные подразделы! Закрытые ключи есть, если я gpg --list-secret-keys .

Полагаю, я не удалял корректно приватные подразделы, наверное, с помощью gpg --edit-key я удалил только общедоступные подразделы. Купить, как я могу удалить частные подразделы, если нет мастер-ключа (это только заглушка)?

После повторного импорта секретного главного ключа я могу удалить главный закрытый ключ и три его подраздела, выполнив gpg --delete-secret-key . Это единственный вариант, который у меня есть? Разве невозможно удалить секретные подразделы, если главный ключ является только заглушкой?

1 ответ1

1

В GnuPG 2.1+ секретные ключи хранятся в gpg-agent и на них ссылается только основная цепочка ключей.

Снова импортируйте открытые подключи, затем запустите gpg --list-secret-keys --with-keygrip . Это покажет «отпечаток» необработанного асимметричного ключа, принадлежащего каждому подразделу (не путайте это с отпечатком всего подраздела PGP с метаданными и всем).

Для каждого подключа, который вы хотите удалить, запустите:

gpg-connect-agent "delete_key <keygrip>" /bye

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