This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch camel-2.22.x in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-2.22.x by this push: new 46e37af fix: Correctly set up truststore password property 46e37af is described below commit 46e37af77acddc89993c92628f624510d3a6b4cf Author: Kit Davies <kit.dav...@uk.ibm.com> AuthorDate: Thu May 2 16:35:47 2019 +0100 fix: Correctly set up truststore password property When creating consumer or producer properties, fix KafkaConfiguration to put truststore password into the correct property field. --- .../camel/component/kafka/KafkaConfiguration.java | 2 +- .../camel/component/kafka/KafkaComponentTest.java | 44 ++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) diff --git a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java index 6576fd7..ba39994 100644 --- a/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java +++ b/components/camel-kafka/src/main/java/org/apache/camel/component/kafka/KafkaConfiguration.java @@ -492,7 +492,7 @@ public class KafkaConfiguration implements Cloneable, HeaderFilterStrategyAware if (keyStore != null) { addPropertyIfNotNull(props, SslConfigs.SSL_TRUSTSTORE_TYPE_CONFIG, keyStore.getType()); addPropertyIfNotNull(props, SslConfigs.SSL_TRUSTSTORE_LOCATION_CONFIG, keyStore.getResource()); - addPropertyIfNotNull(props, SslConfigs.SSL_KEYSTORE_PASSWORD_CONFIG, keyStore.getPassword()); + addPropertyIfNotNull(props, SslConfigs.SSL_TRUSTSTORE_PASSWORD_CONFIG, keyStore.getPassword()); } } } diff --git a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaComponentTest.java b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaComponentTest.java index 9d79bd0..3bffdb0 100644 --- a/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaComponentTest.java +++ b/components/camel-kafka/src/test/java/org/apache/camel/component/kafka/KafkaComponentTest.java @@ -25,10 +25,14 @@ import org.apache.kafka.clients.CommonClientConfigs; import org.apache.kafka.clients.producer.ProducerConfig; import org.apache.kafka.common.config.SaslConfigs; import org.apache.kafka.common.config.SslConfigs; +import org.apache.camel.support.jsse.KeyStoreParameters; +import org.apache.camel.support.jsse.SSLContextParameters; +import org.apache.camel.support.jsse.TrustManagersParameters; import org.junit.Test; import org.mockito.Mockito; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; public class KafkaComponentTest { @@ -215,5 +219,45 @@ public class KafkaComponentTest { params.put("sslKeymanagerAlgorithm", "SunX509"); params.put("sslTrustmanagerAlgorithm", "PKIX"); } + + @Test + public void testCreateProducerConfigTruststorePassword() throws Exception { + KeyStoreParameters keyStoreParameters = new KeyStoreParameters(); + keyStoreParameters.setPassword("my-password"); + + TrustManagersParameters trustManagersParameters = new TrustManagersParameters(); + trustManagersParameters.setKeyStore(keyStoreParameters); + + SSLContextParameters sslContextParameters = new SSLContextParameters(); + sslContextParameters.setTrustManagers(trustManagersParameters); + + KafkaConfiguration kcfg = new KafkaConfiguration(); + kcfg.setSslContextParameters(sslContextParameters); + + Properties props = kcfg.createProducerProperties(); + + assertEquals("my-password", props.getProperty("ssl.truststore.password")); + assertNull(props.getProperty("ssl.keystore.password")); + } + + @Test + public void testCreateConsumerConfigTruststorePassword() throws Exception { + KeyStoreParameters keyStoreParameters = new KeyStoreParameters(); + keyStoreParameters.setPassword("my-password"); + + TrustManagersParameters trustManagersParameters = new TrustManagersParameters(); + trustManagersParameters.setKeyStore(keyStoreParameters); + + SSLContextParameters sslContextParameters = new SSLContextParameters(); + sslContextParameters.setTrustManagers(trustManagersParameters); + + KafkaConfiguration kcfg = new KafkaConfiguration(); + kcfg.setSslContextParameters(sslContextParameters); + + Properties props = kcfg.createConsumerProperties(); + assertEquals("my-password", props.getProperty("ssl.truststore.password")); + assertNull(props.getProperty("ssl.keystore.password")); + } + }