Products | Versions |
---|---|
TIBCO Streaming | 10.6 and later |
We are now required to make connections to Kafka from TIBCO Streaming over SSL/TLS. Until now, we've only been making insecure tcp connections. How can we configure our Streaming application and Kafka server to connect with each other over a secure port?
listeners=PLAINTEXT://:9092,SSL://:9093 advertised.listeners=PLAINTEXT://kafka.server.host:9092,SSL://kafka.server.host:9093 zookeeper.connect=kafka.server.host:2181 # SSL config ssl.keystore.location=/path/to/kafka.server.keystore.jks ssl.keystore.password=serversecret ssl.key.password=serversecret ssl.truststore.location=/path/to/kafka.server.truststore.jks ssl.truststore.password=serversecret..where:
Brokers = kafka.server.host:9093Under the 'Advanced Options' tab, scroll down to the 'Advanced Config' section, and add the following:
security.protocol = SSL ssl.truststore.location = /path/to/truststore.jks (e.g. C:/trusted/kafka.trusted.jks) ssl.truststore.password = <TrustStorePassword>In the above example, the kafka.trusted.jks must contain the Issuer (CA) certificate of the Kafka server. You may obtain any necessary certificates from your Kafka server administrator.
ssl.keystore.location = C:/trusted/kafka.client.identity.jks ssl.keystore.password = <KeystorePassword> ssl.key.password = <PrivateKeyPassword>The Kafka server must now be configured to trust the TIBCO Streaming client's identity. This means the Streaming client's issuer (CA) certificate needs to be added to the Kafka server's truststore. Following the above example, the Streaming client's issuer certificate would need to be added to /path/to/kafka.server.truststore.jks on the Kafka server (as set in the Kafka server configuration file).
ssl.client.auth=requiredYou are now configured for 2-way SSL/TLS.