Docs Menu
Docs Home
/ / /
Kotlin Sync Driver
/ /

X.509 Authentication

In the X.509 authentication mechanism, the server and client use the TLS protocol to exchange X.509 public-key certificates. You can use this mechanism to authenticate to MongoDB Atlas, MongoDB Enterprise Advanced, and MongoDB Community Edition.

Tip

X.509 Mechanism

To learn how to use TLS/SSL with the Kotlin Sync driver, see the Enable TLS/SSL on a Connection guide.

For more information about X.509 certificates, see Use x.509 Certificates to Authenticate Clients on Self-Managed Deployments in the MongoDB Server manual.

The examples in this section show how to specify the X.509 authentication mechanism and use the following placeholder values:

  • hostname: The network address of your MongoDB deployment, open to your client.

  • port: The port number of your MongoDB server.

  • authenticationDb: The MongoDB database that contains your user's authentication data. If you omit this parameter, the driver uses the default value admin.

Select the Connection String or the MongoCredential tab below for instructions and sample code for specifying this authentication mechanism:

To specify the X.509 authentication mechanism by using a connection string, set the authMechanism parameter to MONGODB-X509 and the tls parameter to true as shown in the following example:

val mongoClient =
MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=MONGODB-X509&tls=true")

To specify the X.509 authentication mechanism by using the MongoCredential class, use the createMongoX509Credential() and applyToSslSettings() builder methods as shown in the following example:

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)

To learn more about authenticating to MongoDB, see Authentication in the MongoDB Server manual.

To learn more about creating a MongoClient object by using the Kotlin Sync driver, see the Create a MongoClient guide.

Back

SCRAM

On this page