Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

240
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda