验证 MongoDB CLI 包的完整性
MongoDB CLI 发布团队对所有软件包和容器映像进行数字签名,以证明特定包有效且未被更改。 在安装适用于 Linux 或 Windows 的 MongoDB CLI 包之前,应使用提供的 PGP 签名或 SHA- 256校验和信息来验证包。
验证 Linux 包
MongoDB 使用不同的 PGP 密钥对每个发布分支进行签名。 最新 MongoDB CLI 版本的公钥文件可从密钥服务器下载。
以下过程根据其 PGP 密钥验证MongoDB CLI包。
下载 MongoDB CLI 安装文件。
根据您的 Linux 环境,从MongoDB 下载中心下载 MongoDB CLI 二进制文件。 单击 Copy link并使用以下说明中的 URL。
例如,要通过 shell 下载适用于 Linux 的 2.0.1
版本,请运行以下命令:
curl -LO https://fastdl.mongodb.org/mongocli/mongocli_2.0.1_linux_x86_64.tar.gz
验证 MongoDB CLI 安装文件。
运行以下命令来验证安装文件:
gpg --verify mongocli_2.0.1_linux_x86_64.tar.gz.sig mongocli_2.0.1_linux_x86_64.tar.gz
gpg: Signature made Thu Mar 14 08:25:00 2024 EDT gpg: using RSA key <key-value-long> gpg: Good signature from "MongoDB CLI Release Signing Key <packaging@mongodb.com>" [unknown]
如果包已正确签名,但目前不信任签名密钥,则 gpg
还将返回以下消息:
gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner.
验证 Windows 包
以下过程将根据MongoDB CLI包的 SHA- 256密钥验证该包。
下载 MongoDB CLI 安装文件。
从 MongoDB 下载中心 或 Github 下载 MongoDB CLI.msi
或 文件。.zip
保存公共签名。
从 下载该版本的
checksums.txt
文件Github ,其中包含每个文件的 SHA- 密钥。256例如,对于版本2 。 0 。 1 、 下载2 0。1 。 checksums.txt 文件。打开
checksums.txt
文件并复制下载的包左侧列出的文本。例如,如果您下载了mongocli_2.0.1_windows_x86_64.zip
,请复制mongocli_2.0.1_windows_x86_64.zip
左侧的文本。该值是 SHA-256 密钥值。将 SHA-256 密钥值保存在下载文件夹中名为
mongocli-key
的.txt
文件中。
将签名文件与 MongoDB CLI 安装程序哈希进行比较。
运行 Powershell 命令,根据下载的文件验证包。
如果您下载了 mongocli_2.0.1_windows_x86_64.zip
,请运行以下命令:
$sigHash = (Get-Content $Env:HomePath\Downloads\mongocli-key.txt | Out-String).SubString(0,64).ToUpper(); ` $fileHash = (Get-FileHash $Env:HomePath\Downloads\mongocli_2.0.1_windows_x86_64.zip).Hash.Trim(); ` echo $sigHash; echo $fileHash; ` $sigHash -eq $fileHash
<key-value-from-signature-file> <key-value-from-downloaded-package> True
如果您下载了 mongocli_2.0.1_windows_x86_64.msi
,请运行以下命令:
$sigHash = (Get-Content $Env:HomePath\Downloads\mongocli-key.txt | Out-String).SubString(0,64).ToUpper(); ` $fileHash = (Get-FileHash $Env:HomePath\Downloads\mongocli_2.0.1_windows_x86_64.msi).Hash.Trim(); ` echo $sigHash; echo $fileHash; ` $sigHash -eq $fileHash
<key-value-from-signature-file> <key-value-from-downloaded-package> True
该命令返回签名文件中的键值、下载包中的键值,如果两个值匹配则返回 True
。
如果两个值匹配,则 MongoDB CLI 二进制文件已通过验证。