我有一个问题,让汇合Kafkadotnet库与ssl工作。在没有ssl的情况下一切正常,我可以使用kafkas自己的scritps让ssl正常工作,如下所示。
> .\kafka-console-producer.bat --broker-list domain.net:9094 --topic
busit-test --producer.config client-ssl.properties
client-ssl.properties内容:
security.protocol=SSL
ssl.truststore.location=C:/Certificates/store.jks
ssl.truststore.password=mysecret
我在cert.crt文件中获得了ca,这就是我通过使用以下命令获得store.jks的方式:
keytool -importcert -keystore store.jks -alias issuing -file cert.crt
要使用合流kafka dotnet,我需要根据文档配置它(https://github.com/edenhill/librdkafka/wiki/using-ssl-with-librdkafka ).
metadata.broker.list=at_least_one_of_the_brokers
security.protocol=ssl
# CA certificate file for verifying the broker's certificate.
ssl.ca.location=ca-cert
# Client's certificate
ssl.certificate.location=client_?????_client.pem
# Client's key
ssl.key.location=client_?????_client.key
# Key password, if any.
ssl.key.password=abcdefgh
我使用以下方法将cert.crt文件转换为.pem:
openssl x509 -inform DER -in cert.crt -out cert.pem -text
这给了我一个有效的pem,我可以阅读与文本编辑器。然后,我指向ssl.ca.location中的pem文件,代理被配置为不验证客户机,但是当我启动我的客户机生产者时,我得到以下错误日志:
Connected to ipv4#xx.xxx.xx.xx:9094
failed: err: Local: SSL error: (errno: No error)
Broker changed state CONNECT -> DOWN
我想尽一切办法都试过了,但没能成功。因为它与我可以从Kafka下载的脚本一起工作,我确信经纪人没有什么问题。
任何帮助都将受到感谢。
暂无答案!
目前还没有任何答案,快来回答吧!