如何让 GnuPG 显示完整的 8 字节/64 位密钥 ID?

use*_*ser 53 gnupg

如何让 GnuPG(特别是 1.4.12 版)显示系统上钥匙圈上钥匙的完整 64 位(8 字节)钥匙 ID?

这样做gpg --list-keys --fingerprint XXXXXXXX只显示我已经知道的密钥 ID 的 32 位部分和指纹(至少在过去不一定与密钥 ID 相同,尽管在这种特殊情况下最右边的 32 位确实匹配)。

谷歌搜索了一些关于指定 64 位密钥 ID 以最小化冲突风险的重要性的页面,以及一些想要或接受长密钥 ID 的 GnuPG 选项,但我找不到任何关于如何实际显示长密钥的信息钥匙标识。

Ben*_*Ben 82

或者,您可以使用:

gpg --keyid-format LONG -k 0xDEADBEEF
Run Code Online (Sandbox Code Playgroud)

或者:

gpg --keyid-format 0xLONG -k 0xDEADBEEF
Run Code Online (Sandbox Code Playgroud)

  • 是的,我非常喜欢更长的格式,以至于我的 gpg.conf 中有“keyid-format 0xLONG”,所以我不必每次都指定它。使用 --keyid-format 0xSHORT 将以默认方式显示密钥。 (5认同)

Pau*_*ida 17

您可以使用该选项查看长密钥 ID--with-colons(是的,非常直观)。

要仅打印长密钥 ID,请使用以下内容:

$ gpg --list-keys --with-colons XXXXXXXX | awk -F: '/^pub:/ { print $5 }'
Run Code Online (Sandbox Code Playgroud)


小智 10

只是为了指出一个要记住的合理命名的选项,

macOS Catalina 10.15.4 上的 GnuPG 2.2.13,--list-signatures选项也显示密钥 ID:

$ gpg --list-signatures
Run Code Online (Sandbox Code Playgroud)

  • 应该是公认的答案。 (2认同)
  • RHEL/CentOS/Oracle Linux 7 上的 2.0.22 等旧版 GnuPG 则不支持 (2认同)
  • 我参加聚会可能有点晚了,但这在某些机器上对我不起作用(macOS Catalina 上的 2.2.27 和 Ubuntu 20.04 中的 2.2.x)。对我来说有什么诀窍是`--list-sigs`,以防万一有人在未来偶然发现这篇文章 (2认同)

Pol*_*ase 9

gpg --version                              

# gpg (GnuPG) 2.2.19
# libgcrypt 1.8.5
Run Code Online (Sandbox Code Playgroud)

获取现有密钥的 Short KeyId。在下面的示例中,只有 1 个键,短 keyid 为567C9ABC,显示在rsa4096

gpg --list-keys --keyid-format SHORT

#~/.gnupg/pubring.kbx
#pub   rsa4096/567C9ABC 2021-03-06 [SC]
Run Code Online (Sandbox Code Playgroud)

长密钥 ID =32FA0BE4567C9ABC

gpg --list-keys --keyid-format LONG
#pub   rsa4096/32FA0BE4567C9ABC 2021-03-06 [SC]
Run Code Online (Sandbox Code Playgroud)

gpg --list-keys编辑:可以使用或获取 keyIdgpg --list-secret-keys