Hi,

I have read the docs extensively but yet there are a few answers I can’t
find. It has to do with external CA
Please confirm my understanding if possible:

I can create my own CA to sign all the brokers and clients certificates.
Pros:
- cheap, easy, automated. I need to find a way to access that CA
programatically for new brokers if I want to automated their deployment,
but I could use something like credstash or vault for that.
Cons:
- all of my clients needs to trust the CA. That means somehow find a way
for my clients to get access to the CA  using ca-cert and add it to their
truststore… correct?

I don’t really like the fact that I need to provide the CA cert file to
every client. That seems quite hard to achieve, and prevents my users from
using the Kafka cluster directly. What’s the best way for the Kafka clients
to get access to the CA, while my users are doing dev, etc? Most of our
applications run in Docker, which means we usually pass stuff around using
environment variables.


My next idea was to use an external CA (like Verisign) to sign my
certificate with a wildcard *.kafka.mydomain.com (A records pointing to
internal IPs - the DNS name would be the advertised kafka hostname). My
goal was then for the clients not to require to trust the CA because it
would be automatically trusted? Do I have the correct understanding? Or do
I still need to add the external CA to the truststore of my clients?
(basically I’m trying to reproduce the behaviour of what a web browser
does).


Finally, is it recommended to enable SSL in my dev Kafka cluster vs my prod
Kafka cluster, or to have SSL on each cluster?

Thanks!

Kind regards,
Stephane

Reply via email to