KafkaJS生产者ssl证书



我正在用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、key和cert(吗??如果是,如何获得它们?我们有这样配置的Kafka集群Confluent Security Tutorial我是否必须解码密钥库或其他东西才能为我的KafkaJS获得正确的证书制作人我对这一切一知半解。

您的broker是否强制执行客户端身份验证?如果是,则需要keycert。如果您的客户端运行在"标准"计算机上,那么最知名的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 进行检查

有关更多信息,请参阅此SO问题。

相关内容

  • 没有找到相关文章

最新更新