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

This commit is contained in:
nickAS21 2021-01-14 16:04:58 +02:00
parent cb3353a32d
commit 84698ad554
12 changed files with 45 additions and 19 deletions

View File

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

View File

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

View File

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

View File

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

View File

@ -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;

View File

@ -233,7 +233,7 @@ public class LwM2MTransportConfigServer {
} else {
log.error(" [{}] Read Models", path.getAbsoluteFile());
}
getInKeyStore();
this.getInKeyStore();
}
private File getPathModels() {

View File

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

View File

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

View File

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

View File

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