0

EnableSslCertificateVerification設定を 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 で信頼されたルート ストアを確認できるはずなのに、なぜそれが必要なのかわかりません。

アップデート

2 つの証明書が必要です。1 つは信頼されたルート証明機関にあり、もう 1 つは中間証明機関にあります。

SslCaLocation構成を削除し、2 番目の証明書を中間ストアからルート ストアにインポートしただけで機能しました。

Confluent Client Lib for Kafka / librdkafka for Windows は中間証明書ストアを調べませんか?

4

0 に答える 0