Python Confluent-Kafka SSL 配置
Python Confluent-Kafka SSL Configuration
已经创建了一个基本的 Confluent-Kafka 生产者和消费者来发送明文消息。
在成功地将消息从生产者发送到消费者后,添加了额外的配置以使用 SSL 而不是 PLAINTEXT。
已实现以下配置,导致出现以下错误。
"Message Timed Out"
生产者配置:
bootstrap.servers: localhost9093
security.protocol: SSL
ssl.keystore.location: ../keystore.p12
ssl.keystore.password: [password]
ssl.ca.location: ../CARoot.pem
ssl.key.location: ../key.pem
ssl.certificate.location: ../cert.pem
ssl.key.password: [password]
服务器配置:
ssl.keystore.type= PKCS12
ssl.keystore.location= ../keystore.p12
ssl.keystore.password= [password]
ssl.ca.location= ..\CARoot.pem
ssl.certificate.location= ..\cert.pem
ssl.key.password= [password]
ssl.key.location= ../key.pem
security.inter.broker.protocol= SSL
listeners = PLAINTEXT://localhost:9092,SSL://localhost:9093
advertised.listeners = PLAINTEXT://localhost:9092,SSL://localhost:9093
实施 SSL 是否需要额外的配置?
另外,谁能总结一下CARoot?
据我所知,这是一个证书链。
因此,如果只有一张证书,CARoot.pem和cert.pem应该相同吗?
这个文件可能是问题所在。
证书和私钥是在 PyOpenSSL 中创建的。
keystore.p12 是使用 keytool 从 .jks 密钥库转换而来的。
有没有办法使用此库创建 CARoot.pem 文件?
谢谢。
由于 CA 证书文件的格式,制作者超时。
以下问题的解决方案用于解决超时错误,它使用的是OpenSSL而不是PyOpenSSL。
注意:OpenSSL 在 Git Bash.
中可用
How to export CA certificate chain from PFX in PEM format without bag attributes
此外,对服务器和生产者的配置进行了一些更改。
生产者配置:
bootstrap.servers: localhost9093
security.protocol: SSL
ssl.ca.location: ../CARoot.pem
ssl.key.location: ../key.pem
ssl.certificate.location: ../cert.pem
服务器配置:
ssl.protocol= SSL
ssl.keystore.type= JKS
ssl.keystore.location= ../keystore.jks
ssl.keystore.password= [password]
ssl.client.auth= required
security.inter.broker.protocol= SSL
listeners = PLAINTEXT://localhost:9092,SSL://localhost:9093
advertised.listeners = PLAINTEXT://localhost:9092,SSL://localhost:9093
已经创建了一个基本的 Confluent-Kafka 生产者和消费者来发送明文消息。
在成功地将消息从生产者发送到消费者后,添加了额外的配置以使用 SSL 而不是 PLAINTEXT。
已实现以下配置,导致出现以下错误。
"Message Timed Out"
生产者配置:
bootstrap.servers: localhost9093
security.protocol: SSL
ssl.keystore.location: ../keystore.p12
ssl.keystore.password: [password]
ssl.ca.location: ../CARoot.pem
ssl.key.location: ../key.pem
ssl.certificate.location: ../cert.pem
ssl.key.password: [password]
服务器配置:
ssl.keystore.type= PKCS12
ssl.keystore.location= ../keystore.p12
ssl.keystore.password= [password]
ssl.ca.location= ..\CARoot.pem
ssl.certificate.location= ..\cert.pem
ssl.key.password= [password]
ssl.key.location= ../key.pem
security.inter.broker.protocol= SSL
listeners = PLAINTEXT://localhost:9092,SSL://localhost:9093
advertised.listeners = PLAINTEXT://localhost:9092,SSL://localhost:9093
实施 SSL 是否需要额外的配置?
另外,谁能总结一下CARoot? 据我所知,这是一个证书链。 因此,如果只有一张证书,CARoot.pem和cert.pem应该相同吗? 这个文件可能是问题所在。 证书和私钥是在 PyOpenSSL 中创建的。 keystore.p12 是使用 keytool 从 .jks 密钥库转换而来的。
有没有办法使用此库创建 CARoot.pem 文件?
谢谢。
由于 CA 证书文件的格式,制作者超时。
以下问题的解决方案用于解决超时错误,它使用的是OpenSSL而不是PyOpenSSL。
注意:OpenSSL 在 Git Bash.
中可用How to export CA certificate chain from PFX in PEM format without bag attributes
此外,对服务器和生产者的配置进行了一些更改。
生产者配置:
bootstrap.servers: localhost9093
security.protocol: SSL
ssl.ca.location: ../CARoot.pem
ssl.key.location: ../key.pem
ssl.certificate.location: ../cert.pem
服务器配置:
ssl.protocol= SSL
ssl.keystore.type= JKS
ssl.keystore.location= ../keystore.jks
ssl.keystore.password= [password]
ssl.client.auth= required
security.inter.broker.protocol= SSL
listeners = PLAINTEXT://localhost:9092,SSL://localhost:9093
advertised.listeners = PLAINTEXT://localhost:9092,SSL://localhost:9093