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

Kafka SSL握手报错:Empty client certificate chain 求助

Kafka SSL双向认证报错:Empty client certificate chain 解决方法

问题场景

作为Kafka新手搭建SSL环境,通过脚本生成信任库/密钥库并转换为PKCS12格式后,执行以下命令时出现javax.net.ssl.SSLHandshakeException: Empty client certificate chain错误:

kafka-topics.sh --bootstrap-server "kafka:9092" --command-config=kafka-ssl.properties --list

客户端配置文件kafka-ssl.properties内容:

security.protocol=SSL
ssl.truststore.type=PKCS12
ssl.truststore.location=kafka.keystore.p12
ssl.truststore.password=a1234141aadfafwg
enable.ssl.certificate.verification=false
ssl.endpoint.identification.algorithm=

客户端日志关键信息:

javax.net.ssl|ALL|E0|kafka-admin-client-thread | adminclient-1|2023-10-17 13:20:45.906 EEST|X509Authentication.java:249|No X.509 cert selected for EC
...
javax.net.ssl|WARNING|E0|kafka-admin-client-thread | adminclient-1|2023-10-17 13:20:45.945 EEST|CertificateMessage.java:1094|No available authentication scheme

服务端日志关键信息:

[2023-10-17 13:20:45,993] DEBUG [SslTransportLayer ...] SSL Handshake failed
javax.net.ssl.SSLHandshakeException: Empty client certificate chain
...
[2023-10-17 13:20:46,012] INFO [SocketServer ...] Failed authentication with /192.168.4.121 (SSL handshake failed)

问题原因

服务端开启了双向SSL认证(要求客户端提供自身证书),但当前客户端配置仅指定了信任库(用于验证服务端证书),未配置密钥库(用于向服务端提供客户端证书及私钥),导致握手时无法发送客户端证书链。

解决步骤

  1. 确认服务端SSL配置
    检查Kafka服务端的server.properties,确认ssl.client.auth配置值为required或requested,这意味着服务端需要客户端提供证书。

  2. 补充客户端密钥库配置
    在kafka-ssl.properties中添加以下keystore相关配置(PKCS12格式文件通常同时包含密钥和信任证书,直接复用已有的kafka.keystore.p12即可):

    # 添加客户端密钥库配置
    ssl.keystore.type=PKCS12
    ssl.keystore.location=kafka.keystore.p12
    ssl.keystore.password=a1234141aadfafwg
    # 如果密钥的密码与keystore密码不同,需要追加以下配置
    # ssl.key.password=your-key-password
    
  3. 验证PKCS12文件有效性
    执行以下命令检查PKCS12文件是否包含客户端私钥和证书:

    keytool -list -v -storetype PKCS12 -keystore kafka.keystore.p12
    

    输出中需包含PrivateKeyEntry(客户端私钥)和trustedCertEntry(信任的CA/服务端证书)。

  4. 重新执行命令
    确保配置文件路径正确、文件权限可读取,再次运行kafka-topics.sh命令即可完成SSL握手。


内容的提问来源于stack exchange,提问作者ilias-sp

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 11:47:05