Browse Source

Lwm2m: front - fix bug /../../

pull/3980/head
nickAS21 5 years ago
parent
commit
84698ad554
  1. 3
      common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/bootstrap/LwM2MTransportBootstrapServerConfiguration.java
  2. 29
      common/transport/lwm2m/src/main/java/org/thingsboard/server/transport/lwm2m/server/LwM2MTransportServerConfiguration.java
  3. BIN
      common/transport/lwm2m/src/main/resources/credentials/serverKeyStore.jks
  4. 3
      common/transport/lwm2m/src/main/resources/credentials/shell/lwM2M_credentials.sh
  5. 2
      common/transport/lwm2m/src/main/resources/credentials/shell/lwM2M_keygen.properties
  6. 5
      common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigBootstrap.java
  7. 2
      common/transport/transport-api/src/main/java/org/thingsboard/server/common/transport/lwm2m/LwM2MTransportConfigServer.java
  8. BIN
      transport/lwm2m/src/main/data/credentials/serverKeyStore.jks
  9. 2
      ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-device-config-server.component.ts
  10. 6
      ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-device-profile-transport-configuration.component.ts
  11. 4
      ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-object-add-instances-list.component.ts
  12. 8
      ui-ngx/src/app/modules/home/components/profile/device/lwm2m/lwm2m-object-list.component.ts

3
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());

29
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);
}
}
}

BIN
common/transport/lwm2m/src/main/resources/credentials/serverKeyStore.jks

Binary file not shown.

3
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.

2
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"

5
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<String /** clientEndPoint */, TransportProtos.ValidateDeviceCredentialsResponseMsg> sessions;

2
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() {

BIN
transport/lwm2m/src/main/data/credentials/serverKeyStore.jks

Binary file not shown.

2
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';

6
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';

4
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',

8
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',

Loading…
Cancel
Save