This is an automated email from the ASF dual-hosted git repository. acosentino pushed a commit to branch camel-3.x in repository https://gitbox.apache.org/repos/asf/camel.git
commit 780bd73a19f9f5bab7be454041cf4dceed2e4844 Author: Andrea Cosentino <[email protected]> AuthorDate: Tue Jan 10 15:03:45 2023 +0100 CAMEL-18773 - Camel-Elasticsearch: CertificatePath should be readable through ResourceHelper Signed-off-by: Andrea Cosentino <[email protected]> --- .../java/org/apache/camel/component/es/ElasticsearchProducer.java | 7 +++++-- .../camel/component/es/integration/ElasticsearchTestSupport.java | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchProducer.java b/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchProducer.java index 5cafd7933c5..d373a2b0b9e 100644 --- a/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchProducer.java +++ b/components/camel-elasticsearch/src/main/java/org/apache/camel/component/es/ElasticsearchProducer.java @@ -17,6 +17,7 @@ package org.apache.camel.component.es; import java.io.ByteArrayInputStream; +import java.io.InputStream; import java.nio.file.Files; import java.nio.file.Paths; import java.security.KeyStore; @@ -58,6 +59,7 @@ import org.apache.camel.CamelExchangeException; import org.apache.camel.Exchange; import org.apache.camel.Message; import org.apache.camel.support.DefaultAsyncProducer; +import org.apache.camel.support.ResourceHelper; import org.apache.camel.util.IOHelper; import org.apache.http.HttpHost; import org.apache.http.auth.AuthScope; @@ -540,8 +542,9 @@ class ElasticsearchProducer extends DefaultAsyncProducer { private SSLContext createSslContextFromCa() { try { CertificateFactory factory = CertificateFactory.getInstance("X.509"); - Certificate trustedCa = factory.generateCertificate( - new ByteArrayInputStream(Files.readAllBytes(Paths.get(configuration.getCertificatePath())))); + InputStream resolveMandatoryResourceAsInputStream + = ResourceHelper.resolveMandatoryResourceAsInputStream(getEndpoint().getCamelContext(), configuration.getCertificatePath()); + Certificate trustedCa = factory.generateCertificate(resolveMandatoryResourceAsInputStream); KeyStore trustStore = KeyStore.getInstance("pkcs12"); trustStore.load(null, null); trustStore.setCertificateEntry("ca", trustedCa); diff --git a/components/camel-elasticsearch/src/test/java/org/apache/camel/component/es/integration/ElasticsearchTestSupport.java b/components/camel-elasticsearch/src/test/java/org/apache/camel/component/es/integration/ElasticsearchTestSupport.java index 5257a55dbc8..efe8664c075 100644 --- a/components/camel-elasticsearch/src/test/java/org/apache/camel/component/es/integration/ElasticsearchTestSupport.java +++ b/components/camel-elasticsearch/src/test/java/org/apache/camel/component/es/integration/ElasticsearchTestSupport.java @@ -126,7 +126,7 @@ public class ElasticsearchTestSupport extends CamelTestSupport { elasticsearchComponent.setHostAddresses(service.getHttpHostAddress()); elasticsearchComponent.setUser(USER_NAME); elasticsearchComponent.setPassword(PASSWORD); - elasticsearchComponent.setCertificatePath(certPath.toString()); + elasticsearchComponent.setCertificatePath("file:" + certPath.toString()); CamelContext context = super.createCamelContext(); context.addComponent("elasticsearch", elasticsearchComponent);
