Overview
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 Kotlin, consulte Protocolo de transmisión de datos (TLS/SSL).
Para obtener más información sobre509 los certificados X., consulte X. en el manual del servidor MongoDB.509
Marcadores de posición de código
Los ejemplos de código de esta página utilizan los siguientes marcadores de posición:
hostname- dirección de red de su servidor MongoDB, accesible para su cliente.port- número de puerto de su servidor MongoDB.authenticationDbBase de datos MongoDB que contiene los datos de autenticación del usuario. Si omite este parámetro, el controlador usa el valor predeterminadoadmin.
Autenticar con X.509
Seleccione el Connection String o la pestaña MongoCredential a continuación para obtener instrucciones y un código de muestra para especificar este mecanismo de autenticación:
Para especificar el mecanismo de autenticación X.509 mediante una cadena de conexión, asigne el valor MONGODB-X509 al parámetro authMechanism y habilite TLS asignando el valor true al parámetro tls. El código para instanciar un MongoClient debería ser similar al siguiente:
val mongoClient = MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=MONGODB-X509&tls=true")
Para especificar el X.509 mecanismo de autenticación mediante la MongoCredential clase, utilice el método createMongoX509Credential(). Además, habilite TLS llamando al método applyToSslSettings() y estableciendo la enabled propiedad en true en el bloque SslSettings.Builder. El código para instanciar un MongoClient debería ser similar al siguiente:
val credential = MongoCredential.createMongoX509Credential() val settings = MongoClientSettings.builder() .applyToClusterSettings { builder -> builder.hosts(listOf( ServerAddress("<hostname>", "<port>")) ) } .applyToSslSettings { builder -> builder.enabled(true) } .credential(credential) .build() val mongoClient = MongoClient.create(settings)
Para obtener información adicional sobre cómo configurar su aplicación para usar certificados y opciones TLS/SSL, consulte nuestra guía TLS/SSL.