人类可读的 gpg 公钥转储

MvG*_*MvG 24 cryptography public-key public-key-encryption gnupg

是否有一些工具可以以人类无法理解的方式写出 GnuPG 公钥的实际内容?我的意思不仅是人类可以阅读和键入的 ascii-armor,而且是将数据真正分解为加密部分的大十进制数、UID 的字符串等等的东西?我真的很想看看里面有什么。

今天的实际应用:我有来自同一个人的两个密钥,在同一日期创建,但指纹不同。假设其中一个是通过某种转换从另一个创建的,可能是通过使用最新软件将旧密钥导入到钥匙串中。我想看看实际发生了什么变化。也许只是指纹算法发生了变化,但也许还有更多。

mr.*_*tic 24

尝试

gpg --list-packets --verbose < pubkey.asc
Run Code Online (Sandbox Code Playgroud)

它不会转储关键数据,但会显示所有其他详细信息。要转储额外的原始数据部分,您需要调试标志 2,因此添加--debug 0x02,这将以十六进制转储密钥和其他数据。这部作品在GPG版本1.2和1.4,但2.0可惜不是作为倾销BIGNUM支持(MPI)数据未启用(见DBG_MPIg10/parse-packet.c)出于某种原因。

也试试pgpdump

pgpdump < pubkey.asc
Run Code Online (Sandbox Code Playgroud)

  • 这个调试标志是用于 MPI (bignum) 调试 (`DBG_MPI`),它在 GPG 1.2/1.4 中指示它工作,但是它在 GPG 2.0.x 中没有得到正确支持(它在 `g10/parse-packet.c` 中被注释掉了) 旁边有一个“FIXME”... @grawity 感谢您提供有关 `pgpdump` 的提示,看起来很有用。 (3认同)