验证 Atlas CLI 包的完整性
Atlas CLI 发布团队对所有软件包和容器映像进行数字签名,以证明特定包有效且未被更改。 在安装适用于 Linux、Windows 或 Docker 的 Atlas CLI 软件包之前,应使用提供的 PGP 签名、SHA-256 校验和或 Cosign 来验证软件包。 信息。
验证 Linux 包
MongoDB 使用不同的 PGP 密钥对每个发布分支进行签名。 最新 Atlas CLI 版本的公钥文件可从密钥服务器下载。
以下过程根据 Atlas CLI 包的 PGP 密钥验证 Atlas CLI 包。
下载 Atlas CLI 安装文件。
根据您的 Linux 环境,从MongoDB 下载中心下载 Atlas CLI 二进制文件。 单击 Copy link并使用以下说明中的 URL。
例如,要通过 shell 下载适用于 Linux 的 1.31.0
版本,请运行以下命令:
curl -LO https://fastdl.mongodb.org/mongocli/mongodb-atlas-cli_1.31.0_linux_x86_64.tar.gz
验证 Atlas CLI 安装文件。
运行以下命令来验证安装文件:
gpg --verify mongodb-atlas-cli_1.31.0_linux_x86_64.tar.gz.sig mongodb-atlas-cli_1.31.0_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 "Atlas 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 包
以下过程根据 Atlas CLI 包的 SHA-256 密钥验证 Atlas CLI 包。
下载 Atlas CLI 安装文件。
从 MongoDB 下载中心 或 Github 下载 Atlas CLI.msi
或 文件。.zip
保存公共签名。
从 下载该版本的
checksums.txt
文件Github ,其中包含每个文件的 SHA- 密钥。256例如,对于版本1 。 31 。 0 、 下载1 31。0 。 checksums.txt 文件。打开
checksums.txt
文件并复制下载的包左侧列出的文本。例如,如果您下载了mongodb-atlas-cli_1.31.0_windows_x86_64.zip
,请复制mongodb-atlas-cli_1.31.0_windows_x86_64.zip
左侧的文本。该值是 SHA-256 密钥值。将 SHA-256 密钥值保存在下载文件夹中名为
atlas-cli-key
的.txt
文件中。
将签名文件与 Atlas CLI 安装程序的哈希进行比较。
运行 Powershell 命令,根据下载的文件验证包。
如果您下载了 mongodb-atlas-cli_1.31.0_windows_x86_64.zip
,请运行以下命令:
$sigHash = (Get-Content $Env:HomePath\Downloads\atlas-cli-key.txt | Out-String).SubString(0,64).ToUpper(); ` $fileHash = (Get-FileHash $Env:HomePath\Downloads\mongodb-atlas-cli_1.31.0_windows_x86_64.zip).Hash.Trim(); ` echo $sigHash; echo $fileHash; ` $sigHash -eq $fileHash
<key-value-from-signature-file> <key-value-from-downloaded-package> True
如果您下载了 mongodb-atlas-cli_1.31.0_windows_x86_64.msi
,请运行以下命令:
$sigHash = (Get-Content $Env:HomePath\Downloads\atlas-cli-key.txt | Out-String).SubString(0,64).ToUpper(); ` $fileHash = (Get-FileHash $Env:HomePath\Downloads\mongodb-atlas-cli_1.31.0_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
。
如果两个值匹配,则 Atlas CLI 二进制文件通过验证。
验证 Docker 容器镜像
您可以使用 Cosign 验证 Atlas CLI 容器映像的 MongoDB 签名。
如需验证 MongoDB 的容器签名,请执行以下步骤:
下载并安装 Cosign。
示例:macOS
brew install cosign
有关完整的安装说明,请参阅 Cosign。
验证签名。
运行以下命令以按标记验证签名:
COSIGN_REPOSITORY=docker.io/mongodb/signatures cosign verify --private-infrastructure --key=./atlas-cli.pem docker.io/mongodb/atlas:latest
Verification for index.docker.io/mongodb/atlas:latest -- The following checks were performed on each of these signatures: - The cosign claims were validated - The signatures were verified against the specified public key [{"critical":{"identity":{"docker-reference":"index.docker.io/mongodb/atlas"},"image":{"docker-manifest-digest":"sha256:<key-value>"},"type":"cosign container image signature"},"optional":null}]