Overview
在 X.509 身份验证机制中,服务器和客户端使用 TLS 协议交换 X.509 公钥证书。您可以使用此机制对MongoDB Atlas、 MongoDB Enterprise Advanced和MongoDB Community Edition进行身份验证。
代码占位符
本页上的代码示例使用以下占位符:
hostname— 可供客户端访问的 MongoDB Server 的网络地址。port— MongoDB Server的端口号。authenticationDb— 包含用户的身份验证数据的 MongoDB 数据库。如果省略此参数,驱动程序则会使用默认值admin。
使用 X 进行身份验证。509
选择下面的 Connection String 或 MongoCredential标签页,查看指定此身份验证机制的说明和示例代码:
要使用连接字符串指定 X.509身份验证机制,请为 authMechanism 参数分配值 MONGODB-X509,并通过为 tls 参数分配 true 值启用TLS。 用于实例化 MongoClient 的代码应类似于以下内容:
val mongoClient = MongoClient.create("mongodb://<db_username>:<db_password>@<hostname>:<port>/?authSource=<authenticationDb>&authMechanism=MONGODB-X509&tls=true")
要使用 MongoCredential 类指定 X.509身份验证机制,请使用 createMongoX509Credential() 方法。此外,通过调用applyToSslSettings() 方法并在 SslSettings.Builder 区块中将 enabled 属性设置为 true 启用TLS。用于实例化 MongoClient 的代码应类似于以下内容:
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)
有关配置应用程序以使用证书和 TLS/SSL 选项的更多信息,请参阅我们的 TLS/SSL指南。