软件签名验证的方法

GNU Privacy Guard(GnuPG或GPG)是一个密码学软件,用于加密、签名通信内容及管理非对称密码学的密钥。GnuPG是自由软件,遵循IETF订定的OpenPGP技术标准设计,并与PGP保持兼容。

安装 GnuPG

对于 Windows 的用户:

如果您使用 Windows, 下载 Gpg4win并运行其安装包。

为了验证签名,您需要在 Windows 命令行(“cmd.exe”)中输入一些命令。

对于 macOS 的用户:

如果您正在使用 macOS,您可以安装 GPGTools。

为了验证签名,您需要在(“应用程序”下的)终端中输入一些命令

对于 GNU/Linux 的用户:

如果你使用 GNU/Linux,那么可能在你的系统中已经安装了 GnuPG,因为大多数 Linux 发行版都预装了它。

使用GnuPG

生成密钥对

GnuPG使用非对称密码体制算法生成一对密钥对,其中公钥可公开,私钥必须保密。

1
gpg --gen-key

验证软件签名

验证下载文件的第一步是与任何提供文件下载的人建立信任。出于此,需要下载这个文件的公钥,并且验证公钥的拥有者是否是他或者她自称的。

在下载完文件拥有者的公钥后,使用 gpg 命令导入公钥到你的 keyring 中:

1
2
3
4
5
6
gpg --import signing-key.asc
gpg --fingerprint 3DBDC284
gpg --edit-key 3DBDC284
gpg --list-keys
gpg --verify openSUSE-Tumbleweed-DVD-x86_64-Snapshot20170529-Media.iso.sha256
gpg --verify file.ext.asc file.ext

参考链接

  1. GPG入门教程,by 阮一峰.
  2. 利用 GPG 签名验证文件的完整及可靠性,by Silearner.