0

I am tasked with porting some Kafka consumers and producers from Java to .NET and wanted to validate the config mapping for SSL. Some were trivial, but some seem not supported in .NET Config classes (or have different names). I don't have access to the Kafka environment so figuring this by trial and error is not possible, I have to submit my code with its config to someone to run it and then sends me back the errors :(
I could find the following (consumerConfig and ProducerConfig) easily:

security.protocol -> SecurityProtocol

ssl.key.password -> SslKeyPassword

ssl.keystore.location -> SslKeystoreLocation

ssl.keystore.password -> SslKeystorePassword

I cannot seem to find these for both Consumerconfig and ProducerConfig

ssl.truststore.location : maybe one of : SslCertificateLocation, SslCaLocation,SslCrlLocation ?

ssl.truststore.password : ?

schema.registry.security.protocol= ??

schema.registry.ssl.key.password= ??

schema.registry.ssl.truststore.location= ??

schema.registry.ssl.truststore.password= ??

key.converter.schema.registry.security.protocol= ??

key.converter.schema.registry.ssl.key.password= ??

key.converter.schema.registry.ssl.keystore.location= -> SchemaRegistryConfig .SslKeystoreLocation ?

key.converter.schema.registry.ssl.keystore.password= -> SchemaRegistryConfig .SslKeystorePassword ?

key.converter.schema.registry.ssl.truststore.location=

key.converter.schema.registry.ssl.truststore.password= ??

value.converter.schema.registry.security.protocol= ??

value.converter.schema.registry.ssl.key.password= ??

value.converter.schema.registry.ssl.keystore.location= -> SchemaRegistryConfig .SslKeystoreLocation ?

value.converter.schema.registry.ssl.keystore.password= -> SchemaRegistryConfig .SslKeystorePassword ?

value.converter.schema.registry.ssl.truststore.location= ??

value.converter.schema.registry.ssl.truststore.password= ??

I assume anything with 'schema.registry' are part of the SchemaRegistryConfig that gets applied to SetKeyDeserializer() [for key.converter] and SetValueDeserializer() [to map value.converter]. However, on the SchemaRegistryConfig, I could find only SslKeystoreLocation and SslKeystorePassword

If there are non supported configs, I guess I could just use Set() and Get() on Config class i.e. Get("value.converter.schema.registry.ssl.keystore.password") and Set("value.converter.schema.registry.ssl.keystore.password") for instance. Or maybe, I am missing something. Thanks

Xheox
  • 83
  • 6

1 Answers1

0

After some digging. I don't think these properties exist and I have to use the base Config class with Get("Key") or Set("Key",value). Even the Dictionary assignment will work config["key"]= value. So to store these as configuration just serialized form or List will work. That dictionary could be used to initialize the ConsumerBuilder like shown here. https://developer.confluent.io/get-started/dotnet/?_ga=2.231704984.606645571.1659742457-1700185785.1659742457#build-consumer

Xheox
  • 83
  • 6