如何解释 gpg 的输出 --list-keys --with-colons --with-fingerprint --with-fingerprint

如何解释 gpg 的输出 --list-keys --with-colons --with-fingerprint --with-fingerprint

例如,如果您从以下位置获取此输出https://github.com/gpg/gnupg/blob/master/doc/详细信息,您可以看到每行调度了几条记录。

$ gpg --with-colons --list-keys \
      --with-fingerprint --with-fingerprint [email protected]
pub:f:1024:17:6C7EE1B8621CC013:899817715:1055898235::m:::scESC:
fpr:::::::::ECAF7590EB3443B5C7CF3ACB6C7EE1B8621CC013:
uid:f::::::::Werner Koch <[email protected]>:
uid:f::::::::Werner Koch <[email protected]>:
sub:f:1536:16:06AD222CADF6A6E1:919537416:1036177416:::::e:
fpr:::::::::CF8BCC4B18DE08FCD8A1615906AD222CADF6A6E1:
sub:r:1536:20:5CE086B5B5A18FF4:899817788:1025961788:::::esc:
fpr:::::::::AB059359A3B81F410FCFF97F5CE086B5B5A18FF4:

我的问题是fpr(指纹记录),示例中有三个。哪一个是什么?该医生没有澄清这一点。其背后的目标是使用以下命令进行彻底清理:

yourKeyName="myname <[email protected]>"
# delete private keys
for fpr in $(gpg --list-secret-keys --with-colons --fingerprint "${yourKeyName}" 2>/dev/null | awk -F: '/^fpr:/ { print $10 }')
do
    gpg --batch --delete-secret-keys --yes "$fpr"
done
# delete public keys
for fpr in $(gpg --list-keys --with-colons --fingerprint "${yourKeyName}" 2>/dev/null | awk -F: '/^fpr:/ { print $10 }')
do
    gpg --batch --delete-keys --yes "$fpr"
done

但是使用哪个记录以及为什么有这些 fpr 记录?

注意:我的 gpg 版本

gpg (GnuPG) 2.2.19                                                                                                                                                             
libgcrypt 1.8.5                                                                                                                                                                

答案1

但是使用哪个记录以及为什么有这些 fpr 记录?

每个子项也有自己的指纹。删除主键(第一个指纹)将自动删除“整个事物”(所有子键和用户 ID),但指定子键指纹(第二个或第三个)只会删除该子键。

当您按名称搜索密钥时,您是否尝试过给出名字--delete-key

相关内容