]> git.basschouten.com Git - openhab-addons.git/commitdiff
[remoteopenhab] Call createHttpClient with a SslContextFactory parameter (#14465)
authorlolodomo <lg.hc@free.fr>
Mon, 20 Feb 2023 19:32:55 +0000 (20:32 +0100)
committerGitHub <noreply@github.com>
Mon, 20 Feb 2023 19:32:55 +0000 (20:32 +0100)
Signed-off-by: Laurent Garnier <lg.hc@free.fr>
bundles/org.openhab.binding.remoteopenhab/src/main/java/org/openhab/binding/remoteopenhab/internal/RemoteopenhabHandlerFactory.java

index fcb60e45021a2edac201613493748e27ca313857..9d012df1b526fe5a3d85ac3352185f13eefa2293 100644 (file)
@@ -30,6 +30,7 @@ import javax.ws.rs.client.ClientBuilder;
 import org.eclipse.jdt.annotation.NonNullByDefault;
 import org.eclipse.jdt.annotation.Nullable;
 import org.eclipse.jetty.client.HttpClient;
+import org.eclipse.jetty.util.ssl.SslContextFactory;
 import org.openhab.binding.remoteopenhab.internal.handler.RemoteopenhabBridgeHandler;
 import org.openhab.binding.remoteopenhab.internal.handler.RemoteopenhabThingHandler;
 import org.openhab.core.config.core.Configuration;
@@ -92,7 +93,6 @@ public class RemoteopenhabHandlerFactory extends BaseThingHandlerFactory {
             final @Reference RemoteopenhabCommandDescriptionOptionProvider commandDescriptionProvider,
             final @Reference TranslationProvider i18nProvider, final @Reference LocaleProvider localeProvider) {
         this.httpClient = httpClientFactory.getCommonHttpClient();
-        this.httpClientTrustingCert = httpClientFactory.createHttpClient(RemoteopenhabBindingConstants.BINDING_ID);
         this.clientBuilder = clientBuilder;
         this.eventSourceFactory = eventSourceFactory;
         this.channelTypeProvider = channelTypeProvider;
@@ -102,6 +102,7 @@ public class RemoteopenhabHandlerFactory extends BaseThingHandlerFactory {
         this.i18nProvider = i18nProvider;
         this.localeProvider = localeProvider;
 
+        SslContextFactory sslContextFactory = new SslContextFactory.Client();
         try {
             SSLContext sslContext = SSLContext.getInstance("SSL");
 
@@ -142,14 +143,15 @@ public class RemoteopenhabHandlerFactory extends BaseThingHandlerFactory {
                 }
             } };
             sslContext.init(null, trustAllCerts, null);
-
-            this.httpClientTrustingCert.getSslContextFactory().setSslContext(sslContext);
+            sslContextFactory.setSslContext(sslContext);
         } catch (NoSuchAlgorithmException e) {
             logger.warn("An exception occurred while requesting the SSL encryption algorithm : '{}'", e.getMessage(),
                     e);
         } catch (KeyManagementException e) {
             logger.warn("An exception occurred while initialising the SSL context : '{}'", e.getMessage(), e);
         }
+        this.httpClientTrustingCert = httpClientFactory.createHttpClient(RemoteopenhabBindingConstants.BINDING_ID,
+                sslContextFactory);
     }
 
     @Override