簡體   English   中英

Python Confluent-Kafka SSL 配置

[英]Python Confluent-Kafka SSL Configuration

已經創建了一個基本的 Confluent-Kafka 生產者和消費者來發送純文本消息。

在從生產者向消費者成功發送消息后,添加了額外的配置以使用 SSL 而不是 PLAINTEXT。

已經實現了以下配置,導致以下錯誤。

“消息超時”

生產者配置:

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 中可用。

如何在沒有包屬性的情況下以 PEM 格式從 PFX 導出 CA 證書鏈

此外,對服務器和生產者的配置進行了一些更改。

生產者配置:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM