- MongoDB官方文档中文版
- MongoDB中文手册说明
- MongoDB简介
- 安装 MongoDB
- The mongo Shell
- MongoDB CRUD 操作
- 聚合
- 数据模型
- 事务
- 索引
- 安全
- 安全检查列表
- 启用访问控制
- 身份验证
- 基于角色的访问控制
- TLS / SSL(传输加密)
- 静态加密
- 客户端字段级加密
- 审计
- 网络和配置强化
- 实现字段级别修订
- 安全参考
- 附录
- 变更流
- 复制
- 分片
- 分片键
- 哈希分片
- 范围分片
- 区
- 管理分片区
- 按位置细分数据
- 用于更改SLA或SLO的分层硬件
- 按应用或客户细分数据
- 仅插入工作负载的分布式本地写入
- 管理分片区
- 使用块进行数据分区
- 在分片集群中拆分数据块
- 管理
- 存储
- 存储引擎
- 日志记录
- 管理日志记录
- GridFS
- FAQ:MongoDB 存储
- 存储引擎
- 参考
- 运算符
- 查询与映射运算符
- 更新运算符
- 聚合管道阶段
- 聚合管道操作符
- $abs (aggregation)
- $acos (aggregation)
- $acosh (aggregation)
- $add (aggregation)
- $addToSet (aggregation)
- $allElementsTrue (aggregation)
- $and (aggregation)
- $anyElementTrue (aggregation)
- $arrayElemAt (aggregation)
- $arrayToObject (aggregation)
- $asin (aggregation)
- $asinh (aggregation)
- $atan (aggregation)
- $atan2 (aggregation)
- $atanh (aggregation)
- $avg (aggregation)
- $ceil (aggregation)
- $cmp (aggregation)
- $concat (aggregation)
- $concatArrays (aggregation)
- $cond (aggregation)
- $convert (aggregation)
- $cos (aggregation)
- $dateFromParts (aggregation)
- $dateToParts (aggregation)
- $dateFromString (aggregation)
- $literal (aggregation)
- 查询修饰符
- 数据库命令
- 聚合命令
- 地理空间命令
- 查询和写操作命令
- 查询计划缓存命令
- 认证命令
- 用户管理命令
- 角色管理命令
- 复制命令
- 分片命令
- 会话命令
- 管理命令
- 诊断命令
- 免费监控命令
- 系统事件审计命令
- mongo Shell 方法
- 集合方法
- db.collection.aggregate()
- db.collection.bulkWrite()
- db.collection.copyTo()
- db.collection.count()
- db.collection.countDocuments()
- db.collection.estimatedDocumentCount()
- db.collection.createIndex()
- db.collection.createIndexes()
- db.collection.dataSize()
- db.collection.deleteOne()
- db.collection.deleteMany()
- db.collection.distinct()
- db.collection.drop()
- db.collection.dropIndex()
- db.collection.dropIndexes()
- db.collection.ensureIndex()
- db.collection.explain()
- db.collection.find()
- db.collection.findAndModify()
- db.collection.findOne()
- db.collection.findOneAndDelete()
- db.collection.findOneAndReplace()
- db.collection.findOneAndUpdate()
- db.collection.getIndexes()
- db.collection.getShardDistribution()
- db.collection.getShardVersion()
- db.collection.insert()
- db.collection.insertOne()
- db.collection.insertMany()
- db.collection.isCapped()
- db.collection.latencyStats()
- db.collection.mapReduce()
- db.collection.reIndex()
- db.collection.remove()
- db.collection.renameCollection()
- db.collection.replaceOne()
- db.collection.save()
- db.collection.stats()
- db.collection.storageSize()
- db.collection.totalIndexSize()
- db.collection.totalSize()
- db.collection.update()
- db.collection.updateOne()
- db.collection.updateMany()
- db.collection.watch()
- db.collection.validate()
- 词汇表
- 默认的MongoDB端口
- 默认的MongoDB读/写关注
- 服务器会话
- MongoDB驱动
- FAQ
- 联系我们
- 更多资料
- [快学Mongo]
- [Mongo问题讨论区]
- [Mongo 驱动使用手册]
- 本书使用 GitBook 发布
验证MongoDB软件包的完整性
验证MongoDB软件包的完整性
在本页面
MongoDB版本团队对所有软件包进行数字签名,以证明特定的MongoDB软件包是有效且未更改的MongoDB版本。在安装MongoDB之前,您应该使用提供的PGP签名或SHA-256校验和来验证软件包。
通过检查文件的真实性和完整性以防止篡改,PGP签名提供了最有力的保证。
加密校验和仅验证文件完整性以防止网络传输错误。
验证的Linux / MacOS的包
使用PGP / GPG
MongoDB使用不同的PGP密钥在每个发行分支上签名。自MongoDB 2.2起,每个发行分支的公钥文件都可以从密钥服务器 以文本.asc
和二进制.pub
格式下载。
1. 下载MongoDB安装文件。
根据您的环境从MongoDB下载中心下载二进制文件。
例如,要通过shell下载macOS4.2.8
发行版,请运行以下命令:
复制
curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-4.2.8.tgz
2. 下载公共签名文件。
复制
curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-4.2.8.tgz.sig
3. 下载然后导入密钥文件。
如果尚未下载并导入MongoDB 4.2公钥,请运行以下命令:
复制
curl -LO https://www.mongodb.org/static/pgp/server-4.2.asc
gpg --import server-4.2.asc
PGP应该返回以下响应:
复制
gpg: key 4B7C549A058F8B6B: "MongoDB 4.2 Release Signing Key <packaging@mongodb.com>" imported
gpg: Total number processed: 1
gpg: imported: 1
4. 验证MongoDB安装文件。
运行以下命令:
复制
gpg --verify mongodb-macos-x86_64-4.2.8.tgz.sig mongodb-macos-x86_64-4.2.8.tgz
GPG应该返回以下响应:
复制
gpg: Signature made Wed Jun 5 03:17:20 2019 EDT
gpg: using RSA key 4B7C549A058F8B6B
gpg: Good signature from "MongoDB 4.2 Release Signing Key <packaging@mongodb.com>" [unknown]
如果软件包已正确签名,但是您当前不信任本地密钥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: E162 F504 A20C DF15 827F 718D 4B7C 549A 058F 8B6B
如果您收到以下错误消息,请确认您导入了正确的公钥:
复制
gpg: Can't check signature: public key not found
使用SHA-256
1. 下载MongoDB安装文件。
根据您的环境从MongoDB下载中心下载二进制文件。
例如,要通过shell下载macOS4.2.8
发行版,请输入以下命令:
复制
curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-4.2.8.tgz
2. 下载SHA256文件。
复制
curl -LO https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-4.2.8.tgz.sha256
3. 使用SHA-256校验和验证MongoDB软件包文件。
计算软件包文件的校验和:
复制
shasum -c mongodb-macos-x86_64-4.2.8.tgz.sha256
如果校验和与下载的软件包匹配,它将返回以下内容:
复制
mongodb-macos-x86_64-4.2.8.tgz: OK
验证Windows软件包
这将根据其SHA256密钥验证MongoDB二进制文件。
1. 下载安装程序。
下载MongoDB .msi
安装程序。例如,要下载最新版本的社区版MongoDB:
- 在版本下拉列表中,选择
4.2.8 (current release)
。 - 在平台下拉菜单中,选择Windows。
- 在Package下拉列表中,选择msi。
- 单击下载,然后将文件保存到下载文件夹中。
2. 获取公共签名文件。
获取您的MongoDB版本的公共签名文件。
例如,对于最新版本社区版MongoDB的SHA256签名:
- 从https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.8-signed.msi.sha256复制内容。
- 将内容保存到“
mongodb-win32-x86_64-2012plus-4.2.8-signed.msi.sha256
”下载文件中的文件夹中。
3. 将签名文件与MongoDB installer hash进行比较。
要将签名文件与MongoDB二进制文件的哈希值进行比较,请调用以下Powershell脚本:
复制
$sigHash = (Get-Content $Env:HomePath\Downloads\mongodb-win32-x86_64-2012plus-4.2.8-signed.msi.sha256 | Out-String).SubString(0,64).ToUpper(); `
$fileHash = (Get-FileHash $Env:HomePath\Downloads\mongodb-win32-x86_64-2012plus-4.2.8-signed.msi).Hash.Trim(); `
echo $sigHash; echo $fileHash; `
$sigHash -eq $fileHash
复制
AF5AF79EFE540DCDDC2825A396C71FCFC4FEB463BC9CADDCCDE20AD126321CCC
AF5AF79EFE540DCDDC2825A396C71FCFC4FEB463BC9CADDCCDE20AD126321CCC
True
该命令输出三行:
- 您直接从MongoDB下载的
SHA256
哈希。 - 一个你从MongoDB下载的MongoDB二进制计算
SHA256
哈希值。 - 一个取决于哈希匹配的
True
或者False
结果。
如果哈希匹配,则将验证MongoDB二进制文件。
原文链接:https://docs.mongodb.com/v4.2/tutorial/verify-mongodb-packages/
译者:小芒果
Copyright © 上海锦木信息技术有限公司 all right reserved,由 MongoDB汉化小组 提供技术支持文件修订时间: 2020-10-11 20:53:05