kafkajs生产者ssl证书

cnh2zyt3  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(561)

我正在用kafkajs编写一个nodejs-kafka生产者,在理解如何获取所需的ssl证书以便使用sasl ssl连接到kafka时遇到了问题。在kafkajs文档中,ssl有以下配置:

ssl: {
    rejectUnauthorized: false,
    ca: [fs.readFileSync('/my/custom/ca.crt', 'utf-8')],
    key: fs.readFileSync('/my/custom/client-key.pem', 'utf-8'),
    cert: fs.readFileSync('/my/custom/client-cert.pem', 'utf-8')
  },

我有问题,因为我不知道如何/我应该提供什么证书。
我需要提供所有三个道具(ca、密钥和证书)吗??如果是,如何获得它们?我们有Kafka集群配置像这样汇合安全教程我必须解码密钥库或什么,以获得适当的证书为我的Kafka生产者?我对这一切都了如指掌。

sc4hvdpw

sc4hvdpw1#

您的代理是否强制客户端身份验证?如果是,那么你需要 key 以及 cert . 如果您的客户机运行在“标准”计算机上,则大多数知名的ca都已经存在,例如 /etc/ssl/certs . 在这种情况下,你只需要 ssl : true . 如果您使用的是自签名证书,而不是客户端身份验证,那么 ca 需要提供。
所以,这里是你的选择。

客户端身份验证

如果ca是自签名的,则添加 ca 同时(见下文)。

ssl: {
    key: fs.readFileSync('/my/custom/client-key.pem', 'utf-8'),
    cert: fs.readFileSync('/my/custom/client-cert.pem', 'utf-8')
  }

自签名证书

ssl: {
    rejectUnauthorized: false,
    ca: [fs.readFileSync('/my/custom/ca.crt', 'utf-8')]
  }

这个 rejectUnauthorized : false 不会检查已知ca。
有关更多信息,请参阅此问题。

相关问题