rahulnirgude opened a new pull request, #17561:
URL: https://github.com/apache/kafka/pull/17561

   Client applications use SSL/TLS to connect with Kafka brokers in order to 
implement secured communication. The clients initiate SSL communication with 
Kafka brokers using the SSL Engine constructed from the ssl.* properties 
pointing to key store and trust store. This PR addresses couple of important 
enhancements related to how the key store is loaded for secured communication 
with Kafka brokers.
   
   **Problem :**
   Most of the container platforms such as PCF where the client applications 
are deployed set key store and trust store are environment variables with 
Base64 encoded PEM. Kafka clients expect the key store and trust store to be 
file system artefacts. This introduces custom logic to read these environment 
variables and create a key store / trust store out of that.
   
   **Solution :**
   This can be solved by implementing loading the key store directly from 
environment variables as input stream. Two new configs ssl.keystore.as.string 
and ssl.truststore.as.string are added to indicate loading the key stores from 
these environment variables. When the values are true, it indicates the 
ssl.keystore.location and ssl.trustore.location are pointing to environment 
variables instead of paths.
   
   Example configuration:
   ssl.truststore.as.string=true
   ssl.keystore.type=JKS
   ssl.truststore.location=${KEYSTORE} // populate this as an environment 
variable
   ssl.keystore.as.string=true
   ssl.truststore.type=JKS
   ssl.keystore.location= ${TRUSTSTORE} // populate this as an environment 
variable
   
   All unit tests are passing and added a new test to verify that the base64 
encoded string works with the code changes. No changes were made to any other 
unit tests.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to