From 84698ad554f555b270214e8b00d20dee86e8f2bb Mon Sep 17 00:00:00 2001 From: nickAS21 Date: Thu, 14 Jan 2021 16:04:58 +0200 Subject: [PATCH] Lwm2m: front - fix bug /../../ --- ...TransportBootstrapServerConfiguration.java | 3 +- .../LwM2MTransportServerConfiguration.java | 29 ++++++++++++++++++ .../resources/credentials/serverKeyStore.jks | Bin 5716 -> 5708 bytes .../credentials/shell/lwM2M_credentials.sh | 3 ++ .../credentials/shell/lwM2M_keygen.properties | 2 +- .../lwm2m/LwM2MTransportConfigBootstrap.java | 5 --- .../lwm2m/LwM2MTransportConfigServer.java | 2 +- .../main/data/credentials/serverKeyStore.jks | Bin 5716 -> 5708 bytes .../lwm2m-device-config-server.component.ts | 2 +- ...ofile-transport-configuration.component.ts | 6 ++-- ...m2m-object-add-instances-list.component.ts | 4 +-- .../lwm2m/lwm2m-object-list.component.ts | 8 ++--- 12 files changed, 45 insertions(+), 19 deletions(-) diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/bootstrap/LwM2MTransportBootstrapServerConfiguration.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/bootstrap/LwM2MTransportBootstrapServerConfiguration.java index 09233b5d3b..13584cadb5 100644 --- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/bootstrap/LwM2MTransportBootstrapServerConfiguration.java +++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/bootstrap/LwM2MTransportBootstrapServerConfiguration.java @@ -245,8 +245,7 @@ public class LwM2MTransportBootstrapServerConfiguration { } if (serverCertificate != null) { builder.setCertificateChain(new X509Certificate[]{serverCertificate}); - this.contextBs.getCtxBootStrap().setBootstrapCertificate(serverCertificate); - infoParamsX509(serverCertificate); + this.infoParamsX509(serverCertificate); } } catch (Exception ex) { log.error("[{}] Unable to load KeyStore files server", ex.getMessage()); diff --git a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2MTransportServerConfiguration.java b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2MTransportServerConfiguration.java index 1b9c51b9ec..c6ce086446 100644 --- a/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2MTransportServerConfiguration.java +++ b/common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2MTransportServerConfiguration.java @@ -52,6 +52,7 @@ import java.security.KeyFactory; import java.security.KeyStoreException; import java.security.PrivateKey; import java.security.PublicKey; +import java.security.cert.CertificateEncodingException; import java.security.cert.X509Certificate; import java.security.interfaces.ECPublicKey; import java.security.spec.ECGenParameterSpec; @@ -306,8 +307,36 @@ public class LwM2MTransportServerConfiguration { PrivateKey privateKey = (PrivateKey) this.context.getCtxServer().getKeyStoreValue().getKey(this.context.getCtxServer().getServerAlias(), this.context.getCtxServer().getKeyStorePasswordServer() == null ? null : this.context.getCtxServer().getKeyStorePasswordServer().toCharArray()); builder.setPrivateKey(privateKey); builder.setCertificateChain(new X509Certificate[]{serverCertificate}); + this.infoParamsX509(serverCertificate, privateKey); } catch (Exception ex) { log.error("[{}] Unable to load KeyStore files server", ex.getMessage()); } +// /** +// * For deb => KeyStorePathFile == yml or commandline: KEY_STORE_PATH_FILE +// * For idea => KeyStorePathResource == common/transport/lwm2m/src/main/resources/credentials: in LwM2MTransportContextServer: credentials/serverKeyStore.jks +// */ +// try { +// X509Certificate serverCertificate = (X509Certificate) this.context.getCtxServer().getKeyStoreValue().getCertificate(this.context.getCtxServer().getServerPrivateS()); +// this.privateKey = (PrivateKey) this.context.getCtxServer().getKeyStoreValue().getKey(this.context.getCtxServer().getServerAlias(), this.context.getCtxServer().getKeyStorePasswordServer() == null ? null : this.context.getCtxServer().getKeyStorePasswordServer().toCharArray()); +// if (this.privateKey != null && this.privateKey.getEncoded().length > 0) { +// builder.setPrivateKey(this.privateKey); +// } +// if (serverCertificate != null) { +// builder.setCertificateChain(new X509Certificate[]{serverCertificate}); +// this.infoParamsX509(serverCertificate); +// } +// } catch (Exception ex) { +// log.error("[{}] Unable to load KeyStore files server", ex.getMessage()); +// } + } + + private void infoParamsX509(X509Certificate certificate, PrivateKey privateKey) { + try { + log.info("Server uses X509 : \n X509 Certificate (Hex): [{}] \n Private Key (Hex): [{}]", + Hex.encodeHexString(certificate.getEncoded()), + Hex.encodeHexString(privateKey.getEncoded())); + } catch (CertificateEncodingException e) { + log.error("", e); + } } } diff --git a/common/transport/lwm2m/src/main/resources/credentials/serverKeyStore.jks b/common/transport/lwm2m/src/main/resources/credentials/serverKeyStore.jks index b5b6c9fa3c43118262f4c89b1ba319ef09b694d0..e1d6deff4b3fd948655f802da4ad65f0ba568f4a 100644 GIT binary patch delta 5500 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 Dh68^s diff --git a/common/transport/lwm2m/src/main/resources/credentials/shell/lwM2M_credentials.sh b/common/transport/lwm2m/src/main/resources/credentials/shell/lwM2M_credentials.sh index fd07df3feb..767e79016b 100755 --- a/common/transport/lwm2m/src/main/resources/credentials/shell/lwM2M_credentials.sh +++ b/common/transport/lwm2m/src/main/resources/credentials/shell/lwM2M_credentials.sh @@ -16,6 +16,9 @@ # # source the properties: +script_dir=$(dirname $0) +echo "script_dir: $script_dir" +cd $script_dir . ./lwM2M_keygen.properties # Generation of the keystore. diff --git a/common/transport/lwm2m/src/main/resources/credentials/shell/lwM2M_keygen.properties b/common/transport/lwm2m/src/main/resources/credentials/shell/lwM2M_keygen.properties index 8dd2c30a9a..27e5fa57c7 100644 --- a/common/transport/lwm2m/src/main/resources/credentials/shell/lwM2M_keygen.properties +++ b/common/transport/lwm2m/src/main/resources/credentials/shell/lwM2M_keygen.properties @@ -43,7 +43,7 @@ CLIENT_STORE=clientKeyStore.jks CLIENT_STORE_PWD=client_ks_password CLIENT_ALIAS=client #CLIENT_CN=client_lwm2m_x509 -CLIENT_CN=mobile_lwm2m_x509 +CLIENT_CN=LwX50900000000 CLIENT_SELF_ALIAS=client_self_signed CLIENT_SELF_CN="$DOMAIN_SUFFIX client LwM2M self-signed" diff --git a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigBootstrap.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigBootstrap.java index c8215b7ef3..286f555c0c 100644 --- a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigBootstrap.java +++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigBootstrap.java @@ -24,7 +24,6 @@ import org.springframework.stereotype.Component; import org.thingsboard.server.gen.transport.TransportProtos; import java.security.PublicKey; -import java.security.cert.X509Certificate; import java.util.Map; @Slf4j @@ -104,10 +103,6 @@ public class LwM2MTransportConfigBootstrap { @Value("${transport.lwm2m.bootstrap.secure.alias:}") private String bootstrapAlias; - @Getter - @Setter - private X509Certificate bootstrapCertificate; - @Getter @Setter private Map sessions; diff --git a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigServer.java b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigServer.java index e5643a90f2..9d3e199aea 100644 --- a/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigServer.java +++ b/common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigServer.java @@ -233,7 +233,7 @@ public class LwM2MTransportConfigServer { } else { log.error(" [{}] Read Models", path.getAbsoluteFile()); } - getInKeyStore(); + this.getInKeyStore(); } private File getPathModels() { diff --git a/transport/lwm2m/src/main/data/credentials/serverKeyStore.jks b/transport/lwm2m/src/main/data/credentials/serverKeyStore.jks index b5b6c9fa3c43118262f4c89b1ba319ef09b694d0..e1d6deff4b3fd948655f802da4ad65f0ba568f4a 100644 GIT binary patch delta 5500 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 Dh68^s diff --git a/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-device-config-server.component.ts b/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-device-config-server.component.ts index 9f1fed9bc9..c5d56aa85a 100644 --- a/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-device-config-server.component.ts +++ b/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-device-config-server.component.ts @@ -36,7 +36,7 @@ import { import { Store } from "@ngrx/store"; import { AppState } from "@core/core.state"; import { coerceBooleanProperty } from "@angular/cdk/coercion"; -import { WINDOW } from "../../../../../../core/services/window.service"; +import { WINDOW } from "@core/services/window.service"; import { pairwise, startWith } from 'rxjs/operators'; import { DeviceProfileService } from '@core/http/device-profile.service'; diff --git a/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-device-profile-transport-configuration.component.ts b/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-device-profile-transport-configuration.component.ts index d724a25332..2cc6fe819e 100644 --- a/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-device-profile-transport-configuration.component.ts +++ b/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-device-profile-transport-configuration.component.ts @@ -35,9 +35,9 @@ import { TELEMETRY, ObjectLwM2M, getDefaultProfileConfig, KEY_NAME, Instance } from "./profile-config.models"; -import { DeviceProfileService } from "../../../../../../core/http/device-profile.service"; -import { deepClone, isUndefined } from "../../../../../../core/utils"; -import { WINDOW } from "../../../../../../core/services/window.service"; +import { DeviceProfileService } from "@core/http/device-profile.service"; +import { deepClone, isUndefined } from "@core/utils"; +import { WINDOW } from "@core/services/window.service"; import { JsonObject } from '@angular/compiler-cli/ngcc/src/packages/entry_point'; import { isNotNullOrUndefined } from 'codelyzer/util/isNotNullOrUndefined'; diff --git a/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-object-add-instances-list.component.ts b/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-object-add-instances-list.component.ts index 31ab078485..44d9066440 100644 --- a/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-object-add-instances-list.component.ts +++ b/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-object-add-instances-list.component.ts @@ -30,14 +30,14 @@ import { } from "@angular/forms"; import { coerceBooleanProperty } from "@angular/cdk/coercion"; import { Store } from "@ngrx/store"; -import { AppState } from "../../../../../../core/core.state"; +import { AppState } from "@core/core.state"; import { MatChipList } from '@angular/material/chips'; import { INSTANCES_ID_VALUE_MAX, INSTANCES_ID_VALUE_MIN } from "./profile-config.models"; import { TranslateService } from "@ngx-translate/core"; -import { DeviceProfileService } from "../../../../../../core/http/device-profile.service"; +import { DeviceProfileService } from "@core/http/device-profile.service"; @Component({ selector: 'tb-profile-lwm2m-object-add-instances-list', diff --git a/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-object-list.component.ts b/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-object-list.component.ts index b0f9ea4ebf..bf9570f95c 100644 --- a/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-object-list.component.ts +++ b/ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-object-list.component.ts @@ -32,16 +32,16 @@ import { } from "@angular/forms"; import {coerceBooleanProperty} from "@angular/cdk/coercion"; import {Store} from "@ngrx/store"; -import {AppState} from "../../../../../../core/core.state"; +import {AppState} from "@core/core.state"; import {MatChipList} from '@angular/material/chips'; import {MatAutocomplete} from "@angular/material/autocomplete"; import {Observable} from "rxjs"; import {filter, map, mergeMap, share, tap} from 'rxjs/operators'; import {ObjectLwM2M} from "./profile-config.models"; import {TranslateService} from "@ngx-translate/core"; -import {DeviceProfileService} from "../../../../../../core/http/device-profile.service"; -import {PageLink} from "../../../../../../shared/models/page/page-link"; -import {Direction} from "../../../../../../shared/models/page/sort-order"; +import {DeviceProfileService} from "@core/http/device-profile.service"; +import {PageLink} from "@shared/models/page/page-link"; +import {Direction} from "@shared/models/page/sort-order"; @Component({ selector: 'tb-profile-lwm2m-object-list',