Docs 菜单
Docs 主页
/ /
Atlas CLI
/

验证 Atlas CLI 包的完整性

在此页面上

  • 验证 Linux 包
  • 验证 Windows 包
  • 验证 Docker 容器镜像

Atlas CLI 发布团队对所有软件包和容器映像进行数字签名,以证明特定包有效且未被更改。 在安装适用于 Linux、Windows 或 Docker 的 Atlas CLI 软件包之前,应使用提供的 PGP 签名、SHA-256 校验和或 Cosign 来验证软件包。 信息。

MongoDB 使用不同的 PGP 密钥对每个发布分支进行签名。 最新 Atlas CLI 版本的公钥文件可从密钥服务器下载。

以下过程根据 Atlas CLI 包的 PGP 密钥验证 Atlas CLI 包。

1

根据您的 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
2

运行以下命令以下载文件:

curl -LO https://fastdl.mongodb.org/mongocli/mongodb-atlas-cli_1.31.0_linux_x86_64.tar.gz.sig
3

执行以下命令以下载并导入密钥文件:

curl -LO https://pgp.mongodb.com/atlas-cli.asc
gpg --import atlas-cli.asc
gpg: key <key-value-short>: public key "Atlas CLI Release Signing Key <packaging@mongodb.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
4

运行以下命令来验证安装文件:

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.

以下过程根据 Atlas CLI 包的 SHA-256 密钥验证 Atlas CLI 包。

1

MongoDB 下载中心 Github 下载 Atlas CLI.msi 或 文件。.zip

2
  1. 从 下载该版本的checksums.txt 文件Github ,其中包含每个文件的 SHA- 密钥。256例如,对于版本1 。 31 。 0 、 下载1 31。0 。 checksums.txt 文件。

  2. 打开 checksums.txt 文件并复制下载的包左侧列出的文本。例如,如果您下载了 mongodb-atlas-cli_1.31.0_windows_x86_64.zip,请复制 mongodb-atlas-cli_1.31.0_windows_x86_64.zip 左侧的文本。该值是 SHA-256 密钥值。

  3. 将 SHA-256 密钥值保存在下载文件夹中名为 atlas-cli-key.txt 文件中。

3

运行 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 二进制文件通过验证。

您可以使用 Cosign 验证 Atlas CLI 容器映像的 MongoDB 签名。

如需验证 MongoDB 的容器签名,请执行以下步骤:

1

示例:macOS

brew install cosign

有关完整的安装说明,请参阅 Cosign。

2
curl https://cosign.mongodb.com/atlas-cli.pem > atlas-cli.pem
3

运行以下命令以按标记验证签名:

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}]

后退

检查兼容性