You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Confluent Kafka客户端SSL访问GKE Strimzi集群私钥不匹配问题

问题根因

该错误是ssl.certificate.location配置的客户端证书与ssl.key.location配置的私钥不属于同一密钥对导致的。
从你提供的证书提取命令可以看到,你错误地将集群CA根证书赋值给了ssl.certificate.location配置项,该字段需要填写用户自身的客户端证书,而非集群CA证书。
你使用命令行Kafka客户端可正常访问,是因为命令行客户端通常直接使用完整的user2.p12文件认证,不需要拆分证书和私钥,不会出现文件对应错误的问题。

修复步骤

1. 正确提取用户证书

你之前提取用户私钥的操作是正确的,补充提取用户自身的客户端证书即可:

# 从用户p12文件中提取用户证书,替换<passwd>为user2.password文件中的实际密码
openssl pkcs12 -in user2.p12 -nokeys -clcerts -out cert.pem -passin pass:<passwd>

2. 简化集群根CA证书提取(可选)

不需要多次格式转换,可直接导出符合要求的pem格式根证书:

kubectl get secret my-cluster-lb-ssl-certs-cluster-ca-cert -n kafka -o jsonpath='{.data.ca\.crt}' | base64 -d > cacerts.pem
验证证书与私钥是否匹配

执行以下两条命令,输出的哈希值完全一致即代表配对正确:

# 查看客户端证书的modulus哈希
openssl x509 -noout -modulus -in cert.pem | openssl md5
# 查看私钥的modulus哈希
openssl rsa -noout -modulus -in key.pem | openssl md5

验证通过后重新运行Python生产者代码即可正常连接。

内容的提问来源于stack exchange,提问作者Karan Alang

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 10:54:01