Browse Source

fix(monitoring): register DtlsConfig and build DTLS config from Californium standard defaults

new Configuration() started from an empty config with only SystemConfig/CoapConfig
registered, leaving DTLS module defaults unset. Register DtlsConfig and build from
Configuration.getStandard() so unset DTLS properties fall back to Californium's
own defaults instead of remaining unspecified.
pull/15840/head
pon0marev 7 days ago
parent
commit
bf54101328
  1. 2
      monitoring/src/main/java/org/thingsboard/monitoring/service/transport/impl/CoapTransportHealthChecker.java
  2. 3
      monitoring/src/main/java/org/thingsboard/monitoring/util/DtlsClientConnectorFactory.java

2
monitoring/src/main/java/org/thingsboard/monitoring/service/transport/impl/CoapTransportHealthChecker.java

@ -23,6 +23,7 @@ import org.eclipse.californium.core.coap.MediaTypeRegistry;
import org.eclipse.californium.core.config.CoapConfig;
import org.eclipse.californium.core.network.CoapEndpoint;
import org.eclipse.californium.elements.config.SystemConfig;
import org.eclipse.californium.scandium.config.DtlsConfig;
import org.springframework.beans.factory.config.ConfigurableBeanFactory;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
@ -42,6 +43,7 @@ public class CoapTransportHealthChecker extends TransportHealthChecker<CoapTrans
static {
SystemConfig.register();
CoapConfig.register();
DtlsConfig.register();
}
private CoapClient coapClient;

3
monitoring/src/main/java/org/thingsboard/monitoring/util/DtlsClientConnectorFactory.java

@ -64,13 +64,14 @@ public class DtlsClientConnectorFactory {
static {
SystemConfig.register();
CoapConfig.register();
DtlsConfig.register();
}
private DtlsClientConnectorFactory() {
}
public static DTLSConnector jvmTrustedDtlsClientConnector() {
Configuration config = new Configuration();
Configuration config = Configuration.getStandard();
config.set(DtlsConfig.DTLS_ROLE, DtlsConfig.DtlsRole.CLIENT_ONLY); // no client cert required
config.set(DtlsConfig.DTLS_USE_SERVER_NAME_INDICATION, true); // select the correct server cert
config.set(DtlsConfig.DTLS_SIGNATURE_AND_HASH_ALGORITHMS, CLIENT_SIG_ALGS);

Loading…
Cancel
Save