抑制 gnupg 中的警告消息

suppress warning messages in gnupg

我使用 gpg 只是为了加密和解密目的。

我使用的命令是:

for enc:
gpg --sign test
for dec:
gpg --decrypt test.gpg > test

但我收到以下警告消息:

gpg: Signature made Fri Jun 24 17:29:00 2016 UTC using RSA key ID XXXX
gpg: Good signature from "XXXX@xxxx.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.

当然我试过 --status-fd, --no-comment, --no-mdc-warning,--no-tty ,--no-verbose --quiet --batch, --no-greeting etc 基于互联网搜索。

有没有办法摆脱这些警告消息?

作为最后一个选择,我正在使用 How to hide command output in bash

但我认为应该有一个简单的方法来抑制 gpg 中的警告。

警告显示在 STDERR 上,您可以将 STDERR 流重定向到 /dev/null 以消除警告:

gpg --decrypt test.gpg 2>/dev/null

也保存标准输出:

gpg --decrypt test.gpg 2>/dev/null >test

but I am getting below warning messages :

gpg: Signature made Fri Jun 24 17:29:00 2016 UTC using RSA key ID XXXX
gpg: Good signature from "XXXX@xxxx.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.

前两行其实不是警告信息,只是告诉你一个正确的签名(你解密的文件不仅加密了,而且签名了)。最后两条消息表明无法验证签名密钥。

不要简单地将所有输出丢弃到 stderr,因为这会隐藏实际的问题和错误!与其简单地抑制所有警告和错误消息,不如考虑这条单独的消息。问题是无法验证密钥,即。无法建立信任路径。如果您验证了密钥(确定所有者),最好的解决方案是颁发证书。打开GnuPG密钥编辑命令行:

gpg --edit-key [key-id]

然后使用 sign 命令验证密钥。如果您想确保证书不会离开您的计算机,您也可以 lsign(本地签名)密钥。

或者(并且仅将此用于测试环境,或者如果您确定已验证密钥,或者绝对不必关心消息的来源)您可以应用 --trust-model always选项。

几年前有人问过这个问题,但现在 gpg 有一个 --quiet(或 -q)开关。所以像 gpg --decrypt --quiet <filename> 这样的命令有效。

man page 有详细信息,我已经确认它适用于 gpg 2。2.x。