使用gpg验证Fille会给出退出代码0,即使密钥没有可信任的签名

时间:2018-09-26 14:33:03

标签: gnupg

我正在尝试使用pgp验证签名。我只想检查受信任的密钥。

gpg --verify MyFile.text ; echo $?

这给了我一些输出,例如(如果密钥不是可信密钥):

gpg: Good signature from "Foo Bar <foo@bar.com>" 
gpg: WARNING: This key is not certified with a trusted signature! 
gpg: There is no indication that the signature belongs to the owner.

并且gpg的退出代码为0

如果存在不受信任的密钥的签名错误的签名,如何告诉gpg给出退出代码!= 0?

1 个答案:

答案 0 :(得分:0)

我自己一个答案。我认为这并不是最佳选择和安全性。但是它正在工作。

我将验证部分封装到一个单独的bash脚本文件中:

#/bin/bash    
LANG=C LC_MESSAGES=C gpg --verify $1 2>&1 | grep WARNING > /dev/null
if [[ "${PIPESTATUS[0]} ${PIPESTATUS[1]}" == "0 1" ]]; then
  exit 0
else
  exit 1
fi