You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2023/01/10 14:35:24 UTC
[camel] 01/03: CAMEL-18773 - Camel-Elasticsearch: CertificatePath should be readable through ResourceHelper
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 <an...@gmail.com>
AuthorDate: Tue Jan 10 15:03:45 2023 +0100
CAMEL-18773 - Camel-Elasticsearch: CertificatePath should be readable through ResourceHelper
Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
.../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);