从装甲的gpg公钥文件中获取信息


21

当给出带有装甲的公共GnuPG密钥的文件时,即使用以下内容pubkey.gpg创建的文件():

gpg -r 0xDEADBEEF --export --armored > pubkey.gpg

在不将信息导入到我的钥匙圈中的情况下,获取信息(例如指纹)的最佳方法是什么?

到目前为止(我不满意)的最佳发现是:

gpg --dry-run --import pubkey.gpg

自然,我grep了gpg手册页,但是没有找到明显的解决方案。

Answers:


7

我不知道gpg对此有一个选项,但是这是一种从密钥文件中提取信息的更灵活的解决方法:

mkdir temp-gnupg-dir
export GNUPGHOME=temp-gnupg-dir
gpg --import pubkey.gpg
gpg --list-keys
rm -r temp-gnupg-dir

GNUPGHOME您可以传递--homedir=temp-gnupg-dir给每个gpg调用,而不是环境变量。


这不是很漂亮,但是知道哪些选项不可用很有用,这一个解决方案。因此,我对此表示感谢。
陈征

1
尽管这可以工作,但它比必要的方法复杂得多。我在下面发布了如何在不进行任何导入或钥匙串切换的情况下执行此操作。
2013年

17

要打印磁盘铠装密钥的指纹而不导入,只需使用--with-fingerprint

> gpg --with-fingerprint jm3.asc

pub  1024R/9112BC51 1996-02-05 john manoogian <jm3@*>
Key fingerprint = C9 DC 27 29 0E 1A DB 50  21 C8 64 08 15 29 41 86

uid                            john manoogian <jm3@foo...
uid                            john manoogian <jm3@bar...
uid                            john manoogian <jm3@baz...
uid                            john manoogian <jm3@qux...

瞧!


如果不存在,这将创建一个gnupg目录和一个默认密钥环。公认的答案没有副作用。
伊斯坦·赖斯纳

--with-fingerprint可选的
x-yuri 2015年

1
这不再起作用。我的gpg版本是2.2.5。
丹·米隆

5

您可以检出Kazu Yamamoto的PGP数据包可视化程序,该可视化程序显示OpenPGP(RFC 4880)和PGP版本2(RFC 1991)的数据包格式。

获取和编译:

git clone http://github.com/kazu-yamamoto/pgpdump
cd pgpdump
./configure --prefix=/usr/local/ && make && sudo make install

使用它甚至更简单:

pgpdump pubkey.gpg

此站点上还有一个cgi-bin界面:http : //www.pgpdump.net/cgi-bin/pgpdump


1
这太棒了!顺便说一句,Haskeller Kazu同学也很荣幸:)顺便说一句,pgpdump是由Debian(可能还有其他发行版)打包的,因此在自己编译之前,请在存储库中对其进行检查。
Roman Cheplyaka 2014年

3
有一个类似pgpdump,但不是冗长的输出gpg --list-packets
JSMITH
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.