Docs 菜单
Docs 主页
/
MongoDB Kafka Connector
/

SSL/TLS 和 X.509 证书

在此页面上

  • Overview
  • 先决条件
  • 在工作线程上存储证书
  • 密钥库
  • 信任库
  • 将档案添加到connector

在本指南中,您可以了解如何保护 MongoDB Kafka Connector 工作线程和 MongoDB cluster 之间的通信。

要保护连接,必须执行以下任务:

  • 创建证书

  • 将证书存储在工作线程主机上

  • 向connector提供证书档案

注意

如果您在MongoDB Atlas上托管MongoDB 集群,或者您的集群没有明确要求证书,则已经可以安全地进行通信,无需遵循本指南中的步骤。

本指南要求您事先了解以下概念:

将证书存储在密钥库信任库中,以保护运行connector工作实例的每台服务器的证书档案。

您可以使用密钥库来存储私钥和身份证书。 密钥库使用密钥和证书向外部主机验证客户端的身份。

如果您的 SSL/TLS 配置需要客户端证书才能连接到工作线程实例,请生成安全私钥并包含与中间 CA 捆绑的客户端证书。 然后,使用以下 openssl命令将此信息存储在密钥库中,生成 PKCS 12 文件:

openssl pkcs12 -export -inkey <your private key> \
-in <your bundled certificate> \
-out <your output pkcs12 file>

您可以使用信任库来存储来自 CA 的证书。 信任库使用证书来识别客户端信任方。 这些证书的一些示例包括根 CA、中间 CA 和 MongoDB 集群的最终实体证书。

使用以下keytool命令将您信任方的证书导入信任库:

keytool -import -trustcacerts -import -file <your root or intermediate CA>

如果您的 SSL/TLS 配置需要 MongoDB cluster 的最终实体证书,请使用以下命令将其导入信任库:

keytool -import -file <your server bundled certificate> -keystore <your keystore name>

有关如何设置用于测试目的的客户端密钥库和信任库的更多信息,请参阅用于测试的 OpenSSL 客户端证书。

connector工作线程处理KAFKA_OPTS环境变量中的 Java虚拟机(JVM)选项。环境变量包含密钥库和信任库的路径和密码。

导出KAFKA_OPTS变量中的以下 Java虚拟机(JVM)选项:

export KAFKA_OPTS="\
-Djavax.net.ssl.trustStore=<your path to truststore> \
-Djavax.net.ssl.trustStorePassword=<your truststore password> \
-Djavax.net.ssl.keyStore=<your path to keystore> \
-Djavax.net.ssl.keyStorePassword=<your keystore password>"

当工作线程处理 Java虚拟机(JVM) 选项时,connector会尝试使用 SSL/TLS 协议以及密钥库和信任库中的证书进行连接。

后退

安全与身份验证