我正在用NodeJS编写一个使用KafkaJS的KafkaJS卡夫卡生产者,并且很难理解如何获得所需的SSL证书,以便使用SASL连接连接到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集群,所以合流安全教程,我是否必须解码keystore或其他东西,以便为我的KafkaJS生产者获得正确的证书?我对这一切完全了解。
发布于 2020-05-04 04:43:24
您的代理是否强制执行客户身份验证?如果是,那么您将需要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。
有关更多信息,请参见此所以问题。
https://stackoverflow.com/questions/58708193
复制相似问题