Hello everyone,

I am trying to setup a Kafka cluster with mTLS authentication using
certificates signed by GCP's CAS (Certificate Authority Service). I have
three Kafka nodes: a master and two workers. Each node has a PEM truststore
containing the CA Root certificate from the authority on CAS and a PEM
keystore containing a signed certificate from CAS and the private key. I
followed this webpage
<https://codingharbour.com/apache-kafka/using-pem-certificates-with-apache-kafka>
for
the setup.

This is the server.properties file for the master node. Other nodes have a
similar config except the ssl.keystore.location property.

listeners=INTERNAL://:port,EXTERNAL://:port
advertised.listeners=INTERNAL://:port,EXTERNAL://:port
listener.security.protocol.map=INTERNAL:SSL,EXTERNAL:SSLinter.broker.listener.name=INTERNAL
ssl.enabled.protocols=TLSv1.2
ssl.endpoint.identification.algorithm=
producer.ssl.endpoint.identification.algorithm=
consumer.ssl.endpoint.identification.algorithm=
ssl.client.auth=required
ssl.truststore.type=PEM
ssl.truststore.location=/path/ca.crt
ssl.keystore.type=PEM
ssl.key.password=<password>
ssl.keystore.location=/path/master.pem

The truststore is the ca.crt (Root CA certificate) file and the keystore
has the private key and the signed certificate. There are no intermediate
certificates, the certificates in the keystore are directly signed by the
root certificate.

When I try to start the server on any nodes I am getting the following
error. I am not sure why.

ERROR [KafkaServer id=0] Fatal error during KafkaServer startup.
Prepare to shutdown (kafka.server.KafkaServer)
org.apache.kafka.common.config.ConfigException: Invalid value
javax.net.ssl.SSLHandshakeException:
java.security.cert.CertPathValidatorException: Trust anchor for
certification path not found. for configuration A client SSLEngine
created with the provided settings can't connect to a server SSLEngine
created with those settings.


P.S. I have already tried using the truststore and keystore in JKS and
PKCS12 format. I keep getting the same error.

Thanks,
Dip

Reply via email to