小编Man*_*idt的帖子

如果不存在主密钥,则无法删除 GnuPG 中的私有子密钥

我有一个 GnuPG 密钥对,其中包含一个主密钥(仅具有认证功能)和 3 个子密钥(分别具有SignEncryptAuthenticate功能)。实际上,当我开始时,我只有子密钥的私钥(我有一个存根,标记为#,而不是主私钥)

我这样做:

  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 …

linux command-line pgp gnupg

6
推荐指数
1
解决办法
3199
查看次数

标签 统计

command-line ×1

gnupg ×1

linux ×1

pgp ×1