gpt4 book ai didi

command-line - 在不安装 key 的情况下验证 gpg 签名

转载 作者:行者123 更新时间:2023-12-04 03:56:29 24 4
gpt4 key购买 nike

如何在不安装公钥的情况下验证 gpg 签名(cli 或 w/node js)?我确实有公钥,但不想将其添加到 key 环中。有什么提示吗?

谢谢,
弗洛里安

最佳答案

这是我用于此目的的 shell 脚本。它创建一个临时 key 环,在其中安装指定的公钥,运行指定的命令,然后删除临时 key 环。

请注意,这会从 key 服务器安装 key 。调整它以使用磁盘上已有的 key 应该不难(我应该添加一个选项来做到这一点)。

更新:见 https://github.com/Keith-S-Thompson/gpg-tmp

#!/bin/sh

keyid=$1
shift
case "$keyid" in
????????)
;;
*)
echo "Usage: $0 key args..." 1>&2
exit 1
esac

tmp_keyring=$HOME/$keyid-keyring.gpg

gpg --no-default-keyring --keyring $tmp_keyring --recv-keys $keyid
gpg --no-default-keyring --keyring $tmp_keyring "$@"
rm -f $tmp_keyring

它的作用类似于 gpg命令,但需要一个额外的初始参数来指定 8 位 key ID。

示例用法:
$ gpg coreutils-8.9.tar.gz.sig
gpg: Signature made Tue 04 Jan 2011 07:04:25 AM PST using RSA key ID 000BEEEE
gpg: Can't check signature: public key not found
$ gpg-tmp 000BEEEE coreutils-8.9.tar.gz.sig
gpg: keyring `/home/kst/000BEEEE-keyring.gpg' created
gpg: requesting key 000BEEEE from hkp server subkeys.pgp.net
gpg: key 000BEEEE: public key "Jim Meyering <jim@meyering.net>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
gpg: Signature made Tue 04 Jan 2011 07:04:25 AM PST using RSA key ID 000BEEEE
gpg: Good signature from "Jim Meyering <jim@meyering.net>"
gpg: aka "Jim Meyering <meyering@gnu.org>"
gpg: aka "Jim Meyering <meyering@redhat.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 155D 3FC5 00C8 3448 6D1E EA67 7FD9 FCCB 000B EEEE

请记住,这绝对不会告诉您 key 的可信度,但它作为完整性检查很有用。

(我想知道 Jim Meering 在得到那个之前生成了多少个 key 。)

关于command-line - 在不安装 key 的情况下验证 gpg 签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9120512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com