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

Che*_*evy 22 linux gnu gnupg

当给定一个带有装甲公共 GnuPG 密钥的文件时,即使用以下方式pubkey.gpg创建的文件 ( ):

gpg -r 0xDEADBEEF --export --armored > pubkey.gpg
Run Code Online (Sandbox Code Playgroud)

在不将其导入我的钥匙圈的情况下,获取该文件中的指纹等信息的最佳方法是什么?

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

gpg --dry-run --import pubkey.gpg
Run Code Online (Sandbox Code Playgroud)

当然,我搜索了 gpg 手册页,但没有找到明显的解决方案。

jm3*_*jm3 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...
Run Code Online (Sandbox Code Playgroud)

瞧!


Gil*_*il' 7

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

mkdir temp-gnupg-dir
export GNUPGHOME=temp-gnupg-dir
gpg --import pubkey.gpg
gpg --list-keys
rm -r temp-gnupg-dir
Run Code Online (Sandbox Code Playgroud)

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


Cla*_*ani 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
Run Code Online (Sandbox Code Playgroud)

使用它甚至更简单:

pgpdump pubkey.gpg
Run Code Online (Sandbox Code Playgroud)

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

  • 有一个类似于 _pgpdump_ 但不是来自 `gpg --list-packets` 的详细输出 (4认同)