From b297ab231cd20dfe31a6b49b30f6f1dfff67207d Mon Sep 17 00:00:00 2001 From: nickAS21 Date: Thu, 16 Sep 2021 08:43:28 +0300 Subject: [PATCH] Lwm2m Fix bug create new Device with X509 Trust / update credential to X509 trust --- .../org/thingsboard/server/common/data/StringUtils.java | 8 ++++++++ .../server/dao/device/DeviceCredentialsServiceImpl.java | 4 ++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/common/data/src/main/java/org/thingsboard/server/common/data/StringUtils.java b/common/data/src/main/java/org/thingsboard/server/common/data/StringUtils.java index cbe7094715..6e96893c22 100644 --- a/common/data/src/main/java/org/thingsboard/server/common/data/StringUtils.java +++ b/common/data/src/main/java/org/thingsboard/server/common/data/StringUtils.java @@ -21,7 +21,15 @@ public class StringUtils { return source == null || source.isEmpty(); } + public static boolean isBlank(String source) { + return source == null || source.isEmpty() || source.trim().isEmpty(); + } + public static boolean isNotEmpty(String source) { return source != null && !source.isEmpty(); } + + public static boolean isNotBlank(String source) { + return source != null && !source.isEmpty() && !source.trim().isEmpty(); + } } diff --git a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsServiceImpl.java b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsServiceImpl.java index f62d25dcec..969745ae31 100644 --- a/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsServiceImpl.java +++ b/dao/src/main/java/org/thingsboard/server/dao/device/DeviceCredentialsServiceImpl.java @@ -183,7 +183,7 @@ public class DeviceCredentialsServiceImpl extends AbstractEntityService implemen break; case X509: X509ClientCredentials x509Config = (X509ClientCredentials) clientCredentials; - if (x509Config.getCert() != null) { + if ((StringUtils.isNotBlank(x509Config.getCert()))) { String cert = EncryptionUtil.trimNewLines(x509Config.getCert()); String sha3Hash = EncryptionUtil.getSha3Hash(cert); x509Config.setCert(cert); @@ -272,7 +272,7 @@ public class DeviceCredentialsServiceImpl extends AbstractEntityService implemen break; case X509: X509ClientCredentials x509CCredentials = (X509ClientCredentials) clientCredentials; - if (x509CCredentials.getCert() != null) { + if (StringUtils.isNotBlank(x509CCredentials.getCert())) { try { SecurityUtil.certificate.decode(Base64.decodeBase64(x509CCredentials.getCert())); } catch (Exception e) {