diff --git a/monitoring/src/main/conf/logback.xml b/monitoring/src/main/conf/logback.xml
index 269f57b91c..de8b2c3cd5 100644
--- a/monitoring/src/main/conf/logback.xml
+++ b/monitoring/src/main/conf/logback.xml
@@ -29,7 +29,6 @@
-
diff --git a/monitoring/src/main/java/org/thingsboard/monitoring/config/transport/CoapTransportMonitoringConfig.java b/monitoring/src/main/java/org/thingsboard/monitoring/config/transport/CoapTransportMonitoringConfig.java
index 000087e836..761ed227c2 100644
--- a/monitoring/src/main/java/org/thingsboard/monitoring/config/transport/CoapTransportMonitoringConfig.java
+++ b/monitoring/src/main/java/org/thingsboard/monitoring/config/transport/CoapTransportMonitoringConfig.java
@@ -15,8 +15,6 @@
*/
package org.thingsboard.monitoring.config.transport;
-import lombok.Data;
-import lombok.EqualsAndHashCode;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
@@ -24,12 +22,8 @@ import org.springframework.stereotype.Component;
@Component
@ConditionalOnProperty(name = "monitoring.transports.coap.enabled", havingValue = "true")
@ConfigurationProperties(prefix = "monitoring.transports.coap")
-@Data
-@EqualsAndHashCode(callSuper = true)
public class CoapTransportMonitoringConfig extends TransportMonitoringConfig {
- private TlsConfig tls;
-
@Override
public TransportType getTransportType() {
return TransportType.COAP;
diff --git a/monitoring/src/main/java/org/thingsboard/monitoring/config/transport/CoapsTransportMonitoringConfig.java b/monitoring/src/main/java/org/thingsboard/monitoring/config/transport/CoapsTransportMonitoringConfig.java
index d4c6f85cf1..bffa541ec9 100644
--- a/monitoring/src/main/java/org/thingsboard/monitoring/config/transport/CoapsTransportMonitoringConfig.java
+++ b/monitoring/src/main/java/org/thingsboard/monitoring/config/transport/CoapsTransportMonitoringConfig.java
@@ -28,6 +28,8 @@ import org.springframework.stereotype.Component;
@EqualsAndHashCode(callSuper = true)
public class CoapsTransportMonitoringConfig extends CoapTransportMonitoringConfig {
+ private TlsConfig tls;
+
@Override
public TransportType getTransportType() {
return TransportType.COAPS;
diff --git a/monitoring/src/main/java/org/thingsboard/monitoring/service/transport/impl/CoapTransportHealthChecker.java b/monitoring/src/main/java/org/thingsboard/monitoring/service/transport/impl/CoapTransportHealthChecker.java
index fa12271a28..9ad2ab5b6e 100644
--- a/monitoring/src/main/java/org/thingsboard/monitoring/service/transport/impl/CoapTransportHealthChecker.java
+++ b/monitoring/src/main/java/org/thingsboard/monitoring/service/transport/impl/CoapTransportHealthChecker.java
@@ -43,6 +43,7 @@ import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.thingsboard.monitoring.config.transport.CoapTransportMonitoringConfig;
+import org.thingsboard.monitoring.config.transport.CoapsTransportMonitoringConfig;
import org.thingsboard.monitoring.config.transport.TlsConfig;
import org.thingsboard.monitoring.config.transport.TransportMonitoringTarget;
import org.thingsboard.monitoring.config.transport.TransportType;
@@ -51,13 +52,11 @@ import org.thingsboard.monitoring.util.SslUtil;
import javax.security.auth.x500.X500Principal;
import java.io.IOException;
-import java.net.InetSocketAddress;
-import java.util.Arrays;
import java.security.KeyStore;
import java.security.PrivateKey;
import java.security.cert.Certificate;
-import java.security.cert.X509Certificate;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collections;
import java.util.List;
@@ -84,68 +83,68 @@ public class CoapTransportHealthChecker extends TransportHealthChecker 0) {
- dtlsConfigBuilder.setAdvancedCertificateVerifier(
- StaticNewAdvancedCertificateVerifier.builder()
- .setTrustedCertificates(fetchedCerts)
- .build());
- } else if (tlsConfig != null && tlsConfig.getTruststore().isPresent()) {
- KeyStore trustStore = SslUtil.loadKeyStore(tlsConfig.getTruststore().get(), tlsConfig.getTruststorePassword());
- List trustCerts = new ArrayList<>();
- for (String alias : Collections.list(trustStore.aliases())) {
- if (trustStore.isCertificateEntry(alias)) {
- trustCerts.add(trustStore.getCertificate(alias));
- }
+ }
+ if (fetchedCerts != null && fetchedCerts.length > 0) {
+ dtlsConfigBuilder.setAdvancedCertificateVerifier(
+ StaticNewAdvancedCertificateVerifier.builder()
+ .setTrustedCertificates(fetchedCerts)
+ .build());
+ } else if (tlsConfig != null && tlsConfig.getTruststore().isPresent()) {
+ KeyStore trustStore = SslUtil.loadKeyStore(tlsConfig.getTruststore().get(), tlsConfig.getTruststorePassword());
+ List trustCerts = new ArrayList<>();
+ for (String alias : Collections.list(trustStore.aliases())) {
+ if (trustStore.isCertificateEntry(alias)) {
+ trustCerts.add(trustStore.getCertificate(alias));
}
- dtlsConfigBuilder.setAdvancedCertificateVerifier(
- StaticNewAdvancedCertificateVerifier.builder()
- .setTrustedCertificates(trustCerts.toArray(new Certificate[0]))
- .build());
- } else {
- dtlsConfigBuilder.setAdvancedCertificateVerifier(
- StaticNewAdvancedCertificateVerifier.builder()
- .setTrustAllCertificates()
- .build());
}
- coapClient.setEndpoint(new CoapEndpoint.Builder().setConnector(new DTLSConnector(dtlsConfigBuilder.build())).build());
+ dtlsConfigBuilder.setAdvancedCertificateVerifier(
+ StaticNewAdvancedCertificateVerifier.builder()
+ .setTrustedCertificates(trustCerts.toArray(new Certificate[0]))
+ .build());
+ } else {
+ dtlsConfigBuilder.setAdvancedCertificateVerifier(
+ StaticNewAdvancedCertificateVerifier.builder()
+ .setTrustAllCertificates()
+ .build());
}
+ coapClient.setEndpoint(new CoapEndpoint.Builder().setConnector(new DTLSConnector(dtlsConfigBuilder.build())).build());
+ }
coapClient.setTimeout((long) config.getRequestTimeoutMs());
log.debug("Connecting {} client to {}", getTransportType(), target.getBaseUrl());
}
diff --git a/monitoring/src/main/java/org/thingsboard/monitoring/util/SslUtil.java b/monitoring/src/main/java/org/thingsboard/monitoring/util/SslUtil.java
index 5bdbedae32..33117e4301 100644
--- a/monitoring/src/main/java/org/thingsboard/monitoring/util/SslUtil.java
+++ b/monitoring/src/main/java/org/thingsboard/monitoring/util/SslUtil.java
@@ -28,7 +28,6 @@ import java.net.http.HttpResponse;
import java.security.KeyStore;
import java.security.cert.Certificate;
import java.security.cert.CertificateFactory;
-import java.security.cert.X509Certificate;
import java.time.Duration;
import java.util.Collection;