我可以使用 GnuPG 来验证文件未经修改且来自正确的发送者吗?

我可以使用 GnuPG 来验证文件未经修改且来自正确的发送者吗?

我可以使用 GnuPG 来验证文件未经修改且来自正确的发送者吗?

让我们来看一个简单的用例:

  1. 我有这个包含一些重要内容的文件,假设它在 .tar.gz 文件中。
  2. 我使用类似 GnuPG 的东西对这个文件进行签名
  3. 我将此文件发送给另一个人。
  4. 另一个人想知道文件是否被中间人修改,以及我是否是发送者。所以他使用相同的工具来验证文件是否正常。

GnuPG 之类的工具可以提供帮助吗?

注意:两台计算机都是基于Linux的,命令行很好:)

/谢谢


这就是我所做的。

安装:

sudo aptitude install gnupg

生成密钥并导出:

gpg --gen-key 
gpg --export -a "Johan Simonsson" > public.key

将 public.key 放在 U 盘上交给对方

创建一个测试文件并对其进行签名:

tar -cvzf test.tar.gz ~/.vim
gpg --output test.sig --detach-sig test.tar.gz
tar -cvzf file.tar.gz test.sig test.tar.gz

另一个人将我给他的密钥导入到 USB 记忆棒上。

gpg --import public.key

然后我将 file.tar.gz 通过电子邮件发送给另一个人,他可以使用以下命令验证我发送给他的文件:

tar -xvzf file.tar.gz
gpg --verify test.sig test.tar.gz

这似乎是一个不错的解决方案(因为钥匙并不到处都是)


注意:或者我们可以使用 PGP 服务器来存储密钥,但那是另一个话题。

答案1

是的,使用 GPG 的分离签名功能。它将创建一个包含签名的单独文件,并且可以使用该签名来验证该文件。

签署:

gpg --output yourfile.sig --detach-sig yourfile.tgz

核实:

gpg --verify yourfile.sig yourfile.tgz

相关内容