我正在使用 Kafka(2.3.0 版)和 Zookeeper(3.5.5-3 版)——稳定版是 3.6.3。
当我使用以下命令测试 Zookeeper 的 SSL 时:
openssl s_client -showcerts -connect 127.0.0.1:2280 -CAfile /certs/ca-chain.cert.pem
我收到了这个错误:
140371409225024:error:14094412:SSL routines:ssl3_read_bytes:sslv3 alert bad certificate:../ssl/record/rec_layer_s3.c:1543:SSL alert number 42
但是如果我要安装 Zookeeper 3.5.7 及更高版本,我可以在我的 zoo.cnf 或 zookeeper.properties 中添加它:
ssl.clientAuth=want
而且我不再看到任何 SSL 错误。
有关如何在不升级的情况下修复此 SSL 错误的任何提示/建议(我目前不想更新以避免其他冲突,例如 Kafka Cruise Control 和其他)。
提前致谢!
Zookeeper 直到 3.5.7 版本都需要双向 TLS,即客户端使用自己的证书进行身份验证。仅从 3.5.7 开始,它可以使客户端证书可选(“想要”)甚至不请求(“无”)。这意味着旧版本的唯一方法是实际拥有客户端证书,
-cert
即.-key
openssl s_client