对于 Mozilla 发布的给定软件版本,在执行该程序以安装该程序之前,我如何以加密方式验证我下载的文件的真实性和完整性?
今天想下载windows的firefox和thunderbird,但是下载页面没有说下载后如何验证发布。
我希望看到一条消息告诉我他们的发布签名密钥的指纹,一个指向进一步文档的链接,以及指向 [a] 清单文件(例如SHA256SUMS
)和 [b] 该清单文件的分离签名(例如SHA256SUMS.asc
,,,,ETC)SHA256SUMS.sig
SHA256SUMS.gpg
如何使用 Mozilla 产品(例如 firefox 和 Thunderbird)执行此验证?
Windows版本使用 Authenticode 进行签名,因此签名嵌入到可执行文件中,操作系统会在启动时根据 Microsoft 维护的 X.509 证书颁发机构列表自动对其进行验证。如果可能,提取到“C:\Program Files”中的单个文件同样经过 Authenticode 签名。
您可以在文件的“属性”窗口中查看签名详细信息,或使用
sigcheck
(来自Sysinternals)、或使用Get-AuthenticodeSignature
(PowerShell cmdlet)、或使用signtool verify
(Windows 开发人员工具包的一部分)或使用osslsigncode verify
(在许多 Linux 发行版中可用)。Linux发行版(源代码和预编译)使用 PGP进行签名,在相同的 URL +
.asc
后缀中可以使用分离的签名。他们在 https://ftp.mozilla.org/pub/firefox/releases/:(Mozilla 的“下载源代码”文章指向https://archive.mozilla.org,但这基本上是同一台服务器,内容相同。)
当然,要使 PGP 完全有用,您需要找到其他方法来验证签名密钥,而不是仅仅从同一目录中获取它。Mozilla 似乎在他们的博客上发布了他们的发布密钥。
只要您处理单个文件,单独的“SUMS”清单基本上是多余的——它只是增加了几个额外的验证步骤,而对实际的安全性没有任何作用。通过验证直接针对您要验证的文件生成的签名,您将获得完全相同的值。
尽管如此,Mozilla FTP 服务器确实包含 SHA256SUMS 清单,其中包含属于该版本(包括 Windows 和 macOS)的每个文件以及 PGP 签名。