0

在 OpenWRT 安装中,我有一个更新脚本,用于下载文件并检查其 GPG 签名。

如果我在 rc.d 启动时以优先级 99(它是最后一个)运行此脚本,我会收到“gpg:无法检查签名:未找到公钥”错误。如果我通过 Cron 或手动运行它,一切正常。

我还尝试在运行脚本之前添加 60 秒的睡眠时间。

有没有办法知道 GPG 何时完成初始化?

4

2 回答 2

0

您可以发布您使用的脚本吗?

一个可能的解决方案是在检查签名之前将公钥导入添加为脚本的一部分,因此它始终可用于 gpg。

这个答案也可以解释这个错误:无法检查签名:找不到公钥

于 2020-01-21T21:16:54.923 回答
0

结果是,rc.d 中的脚本没有以 root 身份运行,或者尚未指定 root 主目录(?),因此 GPG 正在寻找签名的主目录是不同的(它正在查看//.gnupg/而不是/root/.gnupg/)。在 GPG 中添加 homedir 参数允许指定目录;这有效:

gpg --homedir /root/.gnupg/ --verify update.gpg
于 2020-01-23T11:24:04.787 回答