Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

230
Views
Cifrado de nivel de campo del lado del cliente MongoDB - Controlador NodeJS - El campo keyAltNames no se crea en el documento de clave de datos en el almacén de claves local

He estado siguiendo esta guía: cómo usar MongoDB Client-Side Field Level Encryption (CSFLE) con Node.js/ para probar MongoDB CSFLE.

Al hacerlo, en el paso de crear la clave de datos en el almacén de bóveda de claves local 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 la clave de datos se crea correctamente pero keyAltName no se adjunta al documento de la clave de datos.

Probé esto varias veces y no hay nada malo en mi código y estoy siguiendo la guía tal como está. No puedo entender qué está causando este problema. La creación de la clave de datos es exitosa pero sin el campo keyAltNames. Una ayuda aquí sería muy apreciada.

El código relacionado con la creación de documentos clave de datos

 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") } }

Documento resultante

ingrese la descripción de la imagen aquí

Paquete JSON MongoDB Driver/MongoDB Client Side Encryption Versiones del paquete NPM

 "mongodb": "^3.6.0", "mongodb-client-encryption": "^1.2.1"
over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

EDITAR: este problema ahora está solucionado por el equipo de MongoDB. Consulte el número 1 adjunto.

Ya está listo un ticket para solucionar este problema.

Visite el siguiente hilo que abrí yo mismo en los foros de MongoDB para obtener más información. -> https://developer.mongodb.com/community/forums/t/nodejs-the-keyaltnames-field-is-not-created-when-creating-the-data-key-in-mongodb-client-side- cifrado de nivel de campo/15875/3

Según los comentarios del hilo anterior, una solución es actualizar el documento local de KeyVault después de crearlo y agregar el campo keyAltName con su valor. Esta parece ser la única solución viable hasta que el equipo de MongoDB envíe una solución para esto en una versión futura.

over 4 years ago · Santiago Trujillo Report

0

Logré resolver un problema similar al instalar mongodb-enterprise-cryptd lib en el nodo php . Para el contenedor mongo estaba usando la imagen oficial de mongo docker

 mongodb: image: mongo:4.2

ps, no estaba usando la versión empresarial de mongo. Más información aquí: conexión a una instancia de MongoCryptD en un entorno docker con Mongoose

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!