Kafka Confluent Client .NET Core无法访问Windows中间证书授权

问题描述

我已经发布了一个问题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 (将#修改为@)