当我使用 gpg 创建密钥对时,它将密钥存储在
~/.gnupg/private-keys-v1.d
它将公钥存储在密钥环文件内 - 我可以命名它,或者它使用默认位置。
如果我查看(--list-public-keys和--list-secret-keys)我的公钥和私钥,我可以看到哪对匹配。两者的输出中的 40 个字符串/散列是相同的。
密钥文件与该字符串不同。它也是 40 个字符长,但有所不同。
我如何找出哪个秘密密钥文件与我的公钥相匹配?
在 Debian 12 上使用 gpg 2.2.40。
使用
gpg --list-secret-keys --with-keygrip
。该路径存储了几种不同协议(PGP、SSH、S/MIME)的私钥,因此无法使用 PGP 指纹;相反,40 个字符的名称是 libgcrypt s-exp 格式的原始公钥的哈希值(如所示,不包括 PGP 证书元数据)。