我正在尝试编写一个bash脚本来检查给定的签名是否有效.我有两个可能的输出:
$ gpg --no-default-keyring --keyring /etc/pubring.gpg --verify file.tgz.sig file.tgz
Run Code Online (Sandbox Code Playgroud)
错误
gpg: Signature made Tue 05 Apr 2011 11:01:19 CEST using RSA key ID E32804F0
gpg: Can't check signature: public key not found
Run Code Online (Sandbox Code Playgroud)
对
gpg: Signature made Tue 05 Apr 2011 11:01:19 CEST using RSA key ID E32804F0
gpg: Good signature from "Test key <test@localhost>"
Run Code Online (Sandbox Code Playgroud)
如何在不必解析结果的情况下检测检查是否正确.
这个问题与使用Perl验证GPG文件签名类似,但是我想在bash中执行此操作(或者如果非常需要Python.)
我不知道gpg命令,但它是否为"错误"和"正确"结果返回不同的退出值?运行命令后检查此问题的最简单方法是:
echo $?
Run Code Online (Sandbox Code Playgroud)
如果一切正常,我希望它返回0,否则返回其他东西.所以你的bash脚本看起来像:
gpg --no-default-keyring --keyring /etc/pubring.gpg --verify file.tgz.sig file.tgz
if [ $? -eq 0 ]
then
echo All is well.
else
echo Problem with signature.
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3059 次 |
| 最近记录: |