|
|
|
@ -39,6 +39,7 @@ import java.net.InetAddress; |
|
|
|
import java.net.InetSocketAddress; |
|
|
|
import java.net.UnknownHostException; |
|
|
|
import java.util.Collections; |
|
|
|
import java.util.concurrent.TimeUnit; |
|
|
|
|
|
|
|
@Slf4j |
|
|
|
@ConditionalOnProperty(prefix = "transport.coap.dtls", value = "enabled", havingValue = "true", matchIfMissing = false) |
|
|
|
@ -51,6 +52,9 @@ public class TbCoapDtlsSettings { |
|
|
|
@Value("${transport.coap.dtls.bind_port}") |
|
|
|
private Integer port; |
|
|
|
|
|
|
|
@Value("${transport.coap.dtls.retransmission_timeout_in_sec}") |
|
|
|
private Integer dtlsRetransmissionTimeoutInSec; |
|
|
|
|
|
|
|
@Bean |
|
|
|
@ConfigurationProperties(prefix = "transport.coap.dtls.credentials") |
|
|
|
public SslCredentialsConfig coapDtlsCredentials() { |
|
|
|
@ -84,6 +88,7 @@ public class TbCoapDtlsSettings { |
|
|
|
new SslContextUtil.Credentials(sslCredentials.getPrivateKey(), null, sslCredentials.getCertificateChain()); |
|
|
|
configBuilder.set(DtlsConfig.DTLS_ROLE, DtlsConfig.DtlsRole.SERVER_ONLY); |
|
|
|
configBuilder.set(DtlsConfig.DTLS_CLIENT_AUTHENTICATION_MODE, CertificateAuthenticationMode.WANTED); |
|
|
|
configBuilder.set(DtlsConfig.DTLS_RETRANSMISSION_TIMEOUT, dtlsRetransmissionTimeoutInSec, TimeUnit.SECONDS); |
|
|
|
configBuilder.setAdvancedCertificateVerifier( |
|
|
|
new TbCoapDtlsCertificateVerifier( |
|
|
|
transportService, |
|
|
|
|