apache-kafka - Kafka Confluent Client .NET Core 无法访问 Windows 中间证书颁发机构
问题描述
我在这里发布了一个关于设置EnableSslCertificateVerification设置的问题 yo true 它如何在 Windows 上不起作用。SSL 握手失败。
我发现这可以通过添加SslCaLocation设置来解决,如下所示:
"Dev-on-Windows": {
"commandName": "Project",
"environmentVariables": {
"Kafka__BootstrapServers": "myloadbalancer.myhost.corp:9094",
"Kafka__EnableSslCertificateVerification": "true",
"Kafka__SchemaRegistryUrl": "myschemareg.myhost.corp:8081,myschemreg2.myhost.corp:8081",
"Kafka__SecurityProtocol": "SaslSsl",
"Kafka__SslCaLocation": "cacert.pem",
"Kafka__SaslMechanism": "Gssapi",
"Kafka__ClientId": "DotNetCoreReferenceApplication",
"Kafka__ErrorTolerance": "Moderate",
"Kafka__Debug" : "all",
"ASPNETCORE_ENVIRONMENT": "Development"
},
"applicationUrl": "https://localhost:5001;http://localhost:5000"
},
其中 cacert.pem 文件只是证书签名 PK 的串联。这样可行。我不确定为什么在理想情况下它应该能够检查 Windows 上受信任的根存储时需要这样做。
更新
需要两个证书。其中一个在受信任的根证书颁发机构中,另一个在中间证书颁发机构中。
我删除了SslCaLocation配置,只是将第二个证书从中间存储区导入到根存储区,它就可以工作了。
Kafka 的 Confluent Client Lib / Windows 的 librdkafka 是否不查看中间证书存储?
解决方案
推荐阅读
- javascript - Javascript:如何验证一个条目是否为空但同时验证它没有插入空格?
- opencv - 使用 python opencv 从网络摄像头读取编码帧
- sql - SQL如何按顺序重新排列列(从大到小)
- amazon-web-services - AWS 无服务器 websocket
- google-apps-script - 使用 Google Apps 脚本基于电子表格自动填写 Google 表单
- javascript - 如何使用 javascript 编辑类的背景颜色 (rgba)?
- javascript - 如何在 JavaScript 中一次多次播放同一个音频文件
- matlab - 如何绘制具有特定 x 值的累积图?
- vue.js - Vue - 从 App.vue 中分离登录组件
- git - 如何在没有结帐的情况下在另一个分支中进行提交?