Docs Menu
Docs Home
/ /

Mecanismo de autenticación X.509

En el mecanismo de autenticación X., el servidor y el cliente utilizan el509 ProtocoloTLS para intercambiar 509 certificados de clave pública X.. Puede usar este mecanismo para autenticarse en MongoDB Atlas, MongoDB Enterprise Advanced y MongoDB Community Edition.

Tip

Mecanismo X.509

Para aprender a usar TLS/SSL con el controlador Node.js, consulte la Habilitar TLS en una guía de 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 de 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:

  • Establezca el parámetro authMechanism en MONGODB-X509

  • Establezca el parámetro tls en true

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

Importante

Siempre codifique mediante URI la ruta del archivo del certificado utilizando el encodeURIComponent método para garantizar 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 debe habilitar TLS en la conexión.

tlsInsecure

booleano

false

Especifica si se permiten certificados no válidos y nombres de host no coincidentes. Si se establece en true, equivale a establecer tlsAllowInvalidCertificates y tlsAllowInvalidHostnames en true.

tlsCAFile

string

Ruta al archivo que contiene una sola autoridad de certificación o un paquete de autoridades de certificación confiables utilizadas en una conexión TLS.

tlsCertificateKeyFile

string

Ruta al archivo del certificado del cliente o al archivo de la clave privada del cliente. Si se requieren ambos, deben concatenarse en un solo archivo.

tlsCertificateKeyFilePassword

buffer o cadena

Cadena o búfer que contiene la contraseña para descifrar la clave privada del cliente.

tlsAllowInvalidCertificates

booleano

false

Especifica si el controlador permite que se utilice un certificado no válido para conectarse.

tlsAllowInvalidHostnames

booleano

false

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

Volver

SCRAM

En esta página