安装包完整性校验
本文档以ARM64架构为参考介绍安装包的完整性校验,AMD64架构的类似处理。
简介
为了确认安装包在传输过程中是否由于网络连接、存储设备、恶意攻击等原因出现数据不完整或遭到篡改的问题,在获取到安装包后,需要对安装包进行完整性校验,通过了校验的安装包才能被部署。
这里通过对比校验文件中记录的校验值和手动方式计算的安装包文件校验值,判断安装包是否完整;而校验文件的合法性则通过签名文件和PGP公钥来验证。完整的信任链如下图所示。
PGP公钥指纹 --> PGP公钥 --> 签名文件 --> 校验文件 --> 安装包前提条件
在校验安装包完整性之前,需要准备如下文件。
- openFuyao社区PGP公钥:
openfuyao.gpg,单击下载。 - 安装包文件:
bkeadm_linux_arm64,单击下载。 - sha256校验文件:
bkeadm_linux_arm64.sha256,单击下载。 - gpg签名文件:
bkeadm_linux_arm64.sha256.asc,单击下载。
操作指导
将上面四个文件放置到同一个目录下,文件完整性校验操作步骤如下。
用户首次下载PGP公钥的情况下,需要执行如下命令导入公钥。
shellgpg --import openfuyao.gpg导入完成后,需要执行如下命令获取公钥指纹信息。
shellgpg --list-keys --with-fingerprint --with-subkey-fingerprint contact@openfuyao.cn其中主密钥指纹应为:
F273 197F 8173 4FDF 93E6 67AB CD64 988D 25B2 1CF9。若输出指纹信息不符,则PGP公钥可能遭到篡改,需要重新获取。执行命令如下,验证sha256校验文件合法性。
shellgpg --verify bkeadm_linux_arm64.sha256.asc bkeadm_linux_arm64.sha256命令执行完成后,若输出包含
Good signature from "openFuyao <contact@openfuyao.cn>",同时主密钥的指纹信息与上文所述一致,则sha256校验文件合法。否则说明sha256文件可能遭到篡改,需要重新获取。执行命令如下,校验安装包文件完整性。
shellsha256sum -c <(cat bkeadm_linux_arm64.sha256) < bkeadm_linux_arm64命令执行完成后,若输出
-: OK,则表示安装包文件完整性未破坏。否则说明安装包完整性已破坏,需要重新获取。