发行版签名
签名方式
OpenWrt使用了 GnuPG,以及 usign,一个由 OpenBSD signify 工具派生出来的签名软件,对发行版进行签名。
OPKG 软件包管理器使用 usign Ed25519 签名来在安装软件时校验软件库的数据,而OpenWrt固件开发者通常会附带上GPG签名以便用户校验下载的文件是否被更改。
usign 签名文件的后缀名是 .sig
,而 GPG 签名文件的后缀是 .gpg
。
需要注意的是,并不是所有的文件都有单独的签名文件,但我们会使用sha256sums
来计算他们的校验和。对于软件库来说,软件包
的信任链是这样的:SHA256 校验文件保证了软件包不被更改,而校验文件的签名文件保证了校验文件是可信的。
校验下载完整性
你可以通过以下步骤来校验下载的固件的完整性:
- 下载
sha256sum
和sha256sum.asc
文件 - 使用命令
gpg --with-fingerprint --verify sha256sum.asc sha256sum
, 确保 GnuPG 告诉你这个签名是正确的,并且签名的指纹符合指纹页面上面所记载的指纹. - 将固件文件下载并存放至与
sha256sums
文件相同的文件夹下,使用命令sha256sum -c --ignore-missing sha256sums
来校验固件文件
对于开发者
参与OpenWrt的所有开发者都需要将自己的 GnuPG 与 usign 公钥存放在主密钥环库中。
你可以参考 key generation howto 页面来为自己生成一个公钥。