![我可以在不下载密钥的情况下使用 GPG 验证文件吗](https://linux22.com/image/96182/%E6%88%91%E5%8F%AF%E4%BB%A5%E5%9C%A8%E4%B8%8D%E4%B8%8B%E8%BD%BD%E5%AF%86%E9%92%A5%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E4%BD%BF%E7%94%A8%20GPG%20%E9%AA%8C%E8%AF%81%E6%96%87%E4%BB%B6%E5%90%97.png)
为了验证中的.iso
签名,我使用/dev/sdb
my_signature.sig
gpg
dd if=/dev/sdb | gpg --keyid-format 0xlong --verify my_signature.sig -
有没有办法在不下载签名的情况下执行此命令my_signature.sig
?
答案1
不,你不能。如果您没有签名文件my_signature.sig
(此处称为“分离签名”),您该如何验证通过curl 检索的内容是否已正确签名?
此外,您需要将签名者的公钥存储在您的密钥环中,否则您将无法验证签名。
答案2
不,GPG 需要签名来计算它是否正确,因此如果您尚未将其导入密钥环,则必须下载它。
如果密钥环中尚未包含密钥,则必须下载密钥以验证签名。如果您通过curl 收到的文本中没有签名,您仍然需要下载它,至少在您不知道谁签署了URL 内容的情况下是这样。
答案3
如果签名位于 url 处URL
,
dd if=/dev/sdb | gpg --keyid-format 0xlong --verify <(curl -sL URL.sig)
但是,添加的密钥gpg --import
应该已下载,除非它是 SHS 密钥。