Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Mecanismo de autenticación X.509

En el mecanismo de autenticación X.509, el servidor y el cliente utilizan el TLS protocolo para intercambiar certificados de clave pública X.509. Puedes utilizar este mecanismo para autenticarte en MongoDB Atlas, MongoDB Enterprise Advanced y MongoDB Community Edition.

Tip

X.509 Mecanismo

Para aprender cómo utilizar TLS/SSL con el driver de Node.js, consulte la Guía Habilite TLS en una conexión.

Para obtener más información sobre509 los certificados X.,509 consulte Usar certificados x. para autenticar clientes en implementaciones autoadministradas en el manual de MongoDB Server.

Los ejemplos de código en esta página utilizan los siguientes marcadores de posición:

  • <cluster_url>: La dirección de red de tu implementación de MongoDB.

  • <pem_certificate_file_path>:La ruta al archivo de certificado PEM de su cliente.

Para utilizar los ejemplos de código, reemplaza estos marcadores de posición por tus propios valores.

Puede especificar este mecanismo de autenticación configurando los siguientes parámetros de su cadena de conexión:

  • Establece el parámetro authMechanism en MONGODB-X509

  • Establece el parámetro tls en true

Indique la ubicación de su archivo de certificado de cliente como el valor de tlsCertificateKeyFile como parámetro del URI de conexión.

Importante

Siempre codifica URI la ruta del archivo del certificado usando el método encodeURIComponent para asegurar que se analice correctamente.

const { MongoClient } = require("mongodb");
// Replace the following with values for your environment.
const clusterUrl = "<cluster_url>";
const clientPEMFile = encodeURIComponent("<pem_certificate_file_path>");
const authMechanism = "MONGODB-X509";
// Replace the following with your MongoDB deployment's connection string.
const uri =
`mongodb+srv://${clusterUrl}/?authMechanism=${authMechanism}&tls=true&tlsCertificateKeyFile=${clientPEMFile}`;
// Create a new MongoClient
const client = new MongoClient(uri);
// Function to connect to the server
async function run() {
try {
// Establish and verify connection
await client.db("admin").command({ ping: 1 });
console.log("Connected successfully to server");
} finally {
// Ensures that the client will close when you finish/error
await client.close();
}
}
run().catch(console.dir);

La siguiente tabla describe las opciones TLS que se pueden establecer en un URI de conexión.

Nombre del parámetro
Tipo
Valor por defecto
Descripción

tls

booleano

false

Especifica si se habilita TLS en la conexión.

tlsInsecure

booleano

false

Especifica si se permite o no certificados inválidos y nombres de host que no coinciden. Cuando se establece en true, esto es equivalente a configurar tlsAllowInvalidCertificates y tlsAllowInvalidHostnames en true.

tlsCAFile

string

Ruta al archivo que contiene una o un paquete de autoridades de certificación confiables que se utilizan en una conexión TLS.

tlsCertificateKeyFile

string

Ruta al archivo del certificado de cliente o al archivo de la llave privada del cliente. Si ambos son necesarios, deben concatenarse en un único archivo.

tlsCertificateKeyFilePassword

buffer o cadena

string o buffer que contiene la contraseña para descifrar la llave privada del cliente.

tlsAllowInvalidCertificates

booleano

false

Especifica si el controlador permite el uso de un certificado no válido para conectarse.

tlsAllowInvalidHostnames

booleano

false

Especifica si el controlador genera un error cuando hay una discrepancia entre el hostname del servidor y el hostname del certificado TLS.

Volver

SCRAM

En esta página