概述
MongoDB 发布团队对所有软件包进行数字签名, 以便进行认证特定的 MongoDB 软件包是有一个有效的并且未被改变 MongoDB 版本. 在安装 MongoDB 之前, 你应该使用 PGP 签名或者 SHA-256 校验和来验证软件包.
PGP 签名通过检查文件的真实性和完整性来提供最好的保证, 防止篡改.
加密校验和仅校验文件的完整性, 以防止网络传输错误.
过程
使用 PGP/GPG
MongoDB 使用不同的 PGP 密钥对每个版本的分支进行签名. 自 MongoDB 2.2 版本以来, 每个版本的分支的公钥文件可以从密钥服务器下载 .asc 和 .pub 格式的文件.
1. 下载 MongoDB 安装文件.
根据你的环境从 https://www.mongodb.org/downl… 下载二进制文件.
例如, 要通过 shell 下载 OS X 的 3.0.5 版本, 请输入以下命令:
curl -LO https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.5.tgz
2. 下载公共签名文件.
curl -LO https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.5.tgz.sig
3. 下载然后导入密钥文件.
如果你尚未下载并导入 MongoDB 3.0 公钥, 请输入以下命令:
curl -LO https://www.mongodb.org/static/pgp/server-3.0.asc
gpg --import server-3.0.asc
你应该会接收到这个消息:
gpg: key 24F3C978: public key "MongoDB 3.0 Release Signing Key <packaging@mongodb.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
4. 验证 MongoDB 安装文件
输入这个命令:
gpg --verify mongodb-osx-x86_64-3.0.5.tgz.sig mongodb-osx-x86_64-3.0.5.tgz
你应该会接收到这个消息:
gpg: Signature made Mon 27 Jul 2015 07:51:53 PM EDT using RSA key ID 24F3C978
gpg: Good signature from "MongoDB 3.0 Release Signing Key <packaging@mongodb.com>" [unknown]
如果你收到了以下消息, 请确认你导入了正确的公钥:
gpg: Signature made Mon 27 Jul 2015 07:51:53 PM EDT using RSA key ID 24F3C978
gpg: Can't check signature: public key not found
如果程序包已经正确的签名, 但是你不信任当前本地 trustdb 的签名, 则 gpg 将返回以下消息:
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: 89AE C6ED 5423 0831 793F 1384 BE0E B6AA 24F3 C978
SHA-256
1. 下载 MongoDB 安装文件.
根据你的环境从 https://www.mongodb.org/downl… 下载二进制文件.
例如, 要通过 shell 下载 OS X 的 3.0.5 版本, 请输入以下命令:
curl -LO https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.5.tgz
2. 下载 SHA256 文件
curl -LO https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-3.0.5.tgz.sha256
3. 使用 SHA256 校验和来验证 MongoDB 包文件.
计算软件包的校验和:
shasum -c mongodb-osx-x86_64-3.0.5.tgz.sha256
如果校验和与下载的软件包相匹配, 则应该放回以下内容:
mongodb-osx-x86_64-3.0.5.tgz: OK
下一章: https://segmentfault.com/a/11…
本文地址: https://docs.mongodb.com/manu…