使用 GPG 验证包(Linux和 macOS)
MongoDB发布团队对MongoDB Shell包进行数字签名,以证明这些包是有效且未经更改的MongoDB发布。 在安装MongoDB Shell之前,您可以使用数字签名来验证包。
本页介绍如何使用 GPG 验证Linux和 macOS 包。
开始之前
如果您尚未安装MongoDB Shell ,请从下载中心下载MongoDB Shell二进制文件。
步骤
1
导入MongoDB Shell公钥
curl https://pgp.mongodb.com/mongosh.asc | gpg --import
如果密钥导入成功,该命令将返回:
gpg: key CEED0419D361CB16: public key "Mongosh Release Signing Key <packaging@mongodb.com>" imported gpg: Total number processed: 1 gpg: imported: 1
如果您之前已导入密钥,则该命令将返回:
gpg: key A8130EC3F9F5F923: "Mongosh Release Signing Key <packaging@mongodb.com>" not changed gpg: Total number processed: 1 gpg: unchanged: 1
2
下载MongoDB Shell公共签名
要下载MongoDB Shell 公共签名,请Go mongoshGithub版本.sig
页面,下载与您的版本和变体相应的 文件。
示例,如果您运行的是mongodb-mongosh_2.3.2_amd64.deb
,请下载mongodb-mongosh_2.3.2_amd64.deb.sig
注意
下载签名时,请确保在Github发布页面中选择正确的版本。
3
验证包
gpg --verify <path_to_signature_file> <path_to_mongosh_executable>
如果包由MongoDB签名,该命令将返回:
gpg: Signature made Mon Jan 22 10:22:53 2024 CET gpg: using RSA key AB1B92FFBE0D3740425DAD16A8130EC3F9F5F923 gpg: Good signature from "Mongosh Release Signing Key <packaging@mongodb.com>" [unknown]
如果包已签名,但签名密钥未添加到本地trustdb
中,命令将返回:
gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner.
如果包未正确签名,该命令将返回错误消息:
gpg: Signature made Mon Jan 22 10:22:53 2024 CET gpg: using RSA key AB1B92FFBE0D3740425DAD16A8130EC3F9F5F923 gpg: BAD signature from "Mongosh Release Signing Key <packaging@mongodb.com>" [unknown]