问题描述
我已经发布了一个问题here,涉及设置 EnableSslCertificateVerification 的问题,这是真的吗?在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 配置,只是将第二个证书从中间存储区导入到根存储区,并且有效。
适用于Windows的Kafka / librdkafka的Confluent Client Lib是否不会进入中间证书存储区?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)