gpt4 book ai didi

node.js - MongoDB 客户端字段级加密 - NodeJS 驱动程序 - keyAltNames 字段未在本地 keystore 的数据 key 文档中创建

转载 作者:行者123 更新时间:2023-12-05 06:51:15 25 4
gpt4 key购买 nike

我一直在关注本指南 - How to use MongoDB Client-Side Field Level Encryption (CSFLE) with Node.js/测试 MongoDB CSFLE。

在此过程中,在本地 key 保管库存储中创建数据 key 的步骤中 https://developer.mongodb.com/how-to/client-side-field-level-encryption-csfle-mongodb-node/#create-a-data-key-in-mongodb-for-encrypting-and-decrypting-document-fields数据 key 已成功创建,但 keyAltName 未附加到数据 key 的文档。

我对此进行了多次测试,我的代码没有任何问题,我正在按照指南进行操作。我不明白是什么导致了这个问题。数据 key 创建成功但没有 keyAltNames 字段。在这里的帮助将不胜感激。

Data Key Document Creation相关代码

async findOrCreateDataKey(client) {
const encryption = new ClientEncryption(client, {
keyVaultNamespace: this.keyVaultNamespace,
kmsProviders: this.kmsProviders
})

await this.ensureUniqueIndexOnKeyVault(client)

let dataKey = await client
.db(this.keyDB)
.collection(this.keyColl)
.findOne({ keyAltNames: { $in: [this.keyAltNames] } })

if (dataKey === null) {
dataKey = await encryption.createDataKey("local", {
keyAltNames: [this.keyAltNames]
})
return dataKey.toString("base64")
}
return dataKey["_id"].toString("base64")
}
}

结果文档

enter image description here

Package JSON MongoDB Driver/MongoDB Client Side Encryption NPM Package Versions

"mongodb": "^3.6.0",
"mongodb-client-encryption": "^1.2.1"

最佳答案

编辑 - 此问题现已由 MongoDB 团队修复。引用附件问题 1 .

已经准备好了ticket in place to fix this问题。

请访问我自己在 MongoDB 论坛中打开的以下线程以获取更多信息。 -> https://developer.mongodb.com/community/forums/t/nodejs-the-keyaltnames-field-is-not-created-when-creating-the-data-key-in-mongodb-client-side-field-level-encryption/15875/3

根据上述线程中的评论,一种解决方案是在创建后更新本地 keyVault 文档,并添加 keyAltName 字段及其值。这似乎是唯一可行的修复,直到 MongoDB 团队在未来的版本中为此发布修复。

关于node.js - MongoDB 客户端字段级加密 - NodeJS 驱动程序 - keyAltNames 字段未在本地 keystore 的数据 key 文档中创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66202474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com