You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by js...@apache.org on 2025/10/13 10:08:26 UTC

(unomi) 01/01: UNOMI-911: fix sslcontext initialization

This is an automated email from the ASF dual-hosted git repository.

jsinovassinnaik pushed a commit to branch fix-connection-to-es
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit 1adaa83ab6ea1a4056cd8acac502bd27f8864e17
Author: jsinovassin <js...@jahia.com>
AuthorDate: Mon Oct 13 12:08:10 2025 +0200

    UNOMI-911: fix sslcontext initialization
---
 .../ElasticSearchPersistenceServiceImpl.java             | 16 +++++++++-------
 .../elasticsearch/ElasticsearchClientFactory.java        |  2 +-
 2 files changed, 10 insertions(+), 8 deletions(-)

diff --git a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java
index 8117116d0..20eb85a5d 100644
--- a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java
+++ b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticSearchPersistenceServiceImpl.java
@@ -486,14 +486,15 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
     }
 
     private void buildClient() throws NoSuchFieldException, IllegalAccessException {
-        final SSLContext sslContext;
-        try {
-            sslContext = SSLContext.getInstance("SSL");
-        } catch (NoSuchAlgorithmException e) {
-            throw new RuntimeException(e);
-        }
+        ElasticsearchClientFactory.ClientBuilder esClienBuilder = ElasticsearchClientFactory.builder();
 
         if (sslTrustAllCertificates) {
+            final SSLContext sslContext;
+            try {
+                sslContext = SSLContext.getInstance("SSL");
+            } catch (NoSuchAlgorithmException e) {
+                throw new RuntimeException(e);
+            }
             try {
                 sslContext.init(null, new TrustManager[] { new X509TrustManager() {
                     public X509Certificate[] getAcceptedIssuers() {
@@ -506,12 +507,13 @@ public class ElasticSearchPersistenceServiceImpl implements PersistenceService,
                     public void checkServerTrusted(X509Certificate[] certs, String authType) {
                     }
                 } }, new SecureRandom());
+                esClienBuilder.sslContext(sslContext);
             } catch (KeyManagementException e) {
                 LOGGER.error("Error creating SSL Context for trust all certificates", e);
             }
         }
 
-        esClient = ElasticsearchClientFactory.builder().hosts(getHosts()).socketTimeout(clientSocketTimeout).sslContext(sslContext)
+        esClient = esClienBuilder.hosts(getHosts()).socketTimeout(clientSocketTimeout)
                 .usernameAndPassword(username, password).build();
 
         buildBulkIngester();
diff --git a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticsearchClientFactory.java b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticsearchClientFactory.java
index 5606aad14..3873aca4c 100644
--- a/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticsearchClientFactory.java
+++ b/persistence-elasticsearch/core/src/main/java/org/apache/unomi/persistence/elasticsearch/ElasticsearchClientFactory.java
@@ -59,7 +59,7 @@ public class ElasticsearchClientFactory {
 
             builder.setHttpClientConfigCallback(httpClientBuilder -> {
                 if (sslContext != null) {
-                    httpClientBuilder.setSSLContext(sslContext);
+                    return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider).setSSLContext(sslContext);
                 }
                 return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
             });