在 TheChiefMeat 下载软件时如何验证文件签名
更新时间
TheChiefMeat 为每个下载包同时提供签名文件:多数软件附带 .sig,Minisign-GUI 附带 .minisig。验证的基本条件是:下载包与签名文件来自同一版本、同一发布位置,并在本机安装对应的验证工具(PGP 或 Minisign)。满足这两点后,用签名文件校验下载包,即可确认文件在传输中没有被改动、且签名确实由站点发布者生成。
先弄清两类签名文件
| 签名文件 | 对应工具 | 站点上的例子 |
|---|---|---|
.sig |
PGP(GnuPG 等) | KeePass Launcher、Simple Encryption、PGP Generator、Restica |
.minisig |
Minisign | Minisign-GUI 1.1.0 |
站点页面在每个软件条目下都列出 Download、Download Latest、Download Source 以及对应的签名下载链接,说明签名是与发布包配套提供的,而不是单独一份通用校验值。
验证步骤
使用 PGP 验证 .sig
- 从 TheChiefMeat 页面或页面指向的 GitHub 下载同一版本的软件包和
.sig文件,放在同一目录。 - 导入发布者的 PGP 公钥(需从站点或作者公开渠道获取,不要从第三方转载页拿)。
- 执行验证命令,输入为软件包与
.sig:
gpg --verify 软件包文件名.sig 软件包文件名
- 预期结果是输出中出现 “Good signature”,并显示签名密钥信息。若提示 “BAD signature”,说明文件与签名不匹配,应重新下载。
使用 Minisign 验证 .minisig
- 下载 Minisign-GUI 的安装包与
.minisig文件。 - 用 Minisign 或 Minisign-GUI 载入公钥,选择待验证文件与
.minisig。 - 验证通过即表示签名有效;失败则说明文件被改动或版本不对应。
Minisign-GUI 本身就是站点提供的 Minisign 图形界面,适合不习惯命令行的用户;熟悉命令行的用户也可以直接用 Minisign 原版工具完成同样操作。
常见卡点
- 版本错配:用 3.1.3 的签名去验 3.1.2 的包,必然失败。站点在更新日志中会标注每个版本的变化,下载时应对照版本号。
- 公钥来源不明:签名验证的前提是公钥可信。只从站点页面或其指向的 GitHub 获取公钥,避免使用搜索引擎结果里的转载密钥。
- 只验哈希不够:哈希只能比对完整性,签名还能确认发布者身份,两者不能互相替代。
.minisig与.sig混用:Minisign-GUI 使用.minisig,其余软件使用.sig,不要交叉使用工具。
获取最新版本的位置
站点说明最新版本可在本站或通过 GitHub 获取。下载前先确认页面上的版本号与更新日志一致,例如 KeePass Launcher 当前列出的是 3.1.3,并附有该版本的变更说明。签名文件应与该版本同时下载,避免用旧签名验证新包。