GPG 什么时候加载它的密钥?
When does GPG load its keys?
在 OpenWRT 安装中,我有一个更新脚本可以下载文件并检查其 GPG 签名。
如果我 运行 这个脚本在启动时 rc.d 优先级为 99(这是最后一个),我会得到一个 "gpg: Can't check signature: public key not found" 错误。如果我通过 Cron 或手动 运行 它,一切正常。
我还尝试在 运行 脚本之前添加 60 秒的睡眠。
有没有办法知道 GPG 何时完成初始化?
你能post你使用的脚本吗?
一个可能的解决方案是在检查签名之前添加 public 密钥导入作为脚本的一部分,因此它始终可用于 gpg。
这个答案也可以阐明这个错误:Can't check signature: public key not found
事实证明,rc.d 中的脚本不是 运行 作为 root,或者尚未指定 root home(?),因此 GPG 寻找签名的 home 目录不同(它正在查看 //.gnupg/
而不是 /root/.gnupg/
)。
在GPG中添加homedir参数允许指定目录;这有效:
gpg --homedir /root/.gnupg/ --verify update.gpg
在 OpenWRT 安装中,我有一个更新脚本可以下载文件并检查其 GPG 签名。
如果我 运行 这个脚本在启动时 rc.d 优先级为 99(这是最后一个),我会得到一个 "gpg: Can't check signature: public key not found" 错误。如果我通过 Cron 或手动 运行 它,一切正常。
我还尝试在 运行 脚本之前添加 60 秒的睡眠。
有没有办法知道 GPG 何时完成初始化?
你能post你使用的脚本吗?
一个可能的解决方案是在检查签名之前添加 public 密钥导入作为脚本的一部分,因此它始终可用于 gpg。
这个答案也可以阐明这个错误:Can't check signature: public key not found
事实证明,rc.d 中的脚本不是 运行 作为 root,或者尚未指定 root home(?),因此 GPG 寻找签名的 home 目录不同(它正在查看 //.gnupg/
而不是 /root/.gnupg/
)。
在GPG中添加homedir参数允许指定目录;这有效:
gpg --homedir /root/.gnupg/ --verify update.gpg