如何为基于Java的Debezium Kafka客户端配置PEM/CRT格式CA证书
问题解答
你给出的PEM格式truststore配置在Kafka 2.7.0及以上版本中是完全有效的,无需将.crt/.pem证书转换为JKS格式即可直接使用,具体配置说明如下:
1. 适用场景说明
- Debezium依赖的Kafka Java客户端自2.7.0版本起,原生支持将
PEM作为信任库类型,和librdkafka客户端的ssl.ca.location配置效果完全一致 - 如果你使用的Kafka Connect版本低于2.7.0,才需要手动将PEM证书转换为JKS格式使用
2. 完整SASL_SSL配置示例
在你现有配置的基础上,补充证书配置即可:
# 已完成的SASL认证配置 security.protocol=SASL_SSL sasl.mechanism=SCRAM-SHA-256 sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="${KAFKA_USERNAME}" password="${KAFKA_PASSWORD}"; # 新增PEM格式CA证书配置 ssl.truststore.type = PEM ssl.truststore.location = /path/to/ca/file/ca-bundle.crt # 如果你的PEM证书没有设置密码,填写空字符串即可 ssl.truststore.password = ""
3. 低版本Kafka兼容方案
如果你的Kafka Connect版本低于2.7.0,可以通过以下命令将PEM证书转换为JKS格式:
keytool -importcert -file ca-bundle.crt -alias kafka-ca -keystore kafka.truststore.jks -storepass 自定义的truststore密码
转换完成后使用JKS格式的配置即可:
ssl.truststore.type = JKS ssl.truststore.location = /path/to/kafka.truststore.jks ssl.truststore.password = 你设置的truststore密码
内容的提问来源于stack exchange,提问作者Vikash Mishra
相关产品推荐
相关产品推荐

