Merge with UI/feature/x509
This commit is contained in:
commit
6be23e90ad
@ -90,7 +90,7 @@ export class DeviceProfileProvisionConfigurationComponent implements ControlValu
|
||||
provisionDeviceKey: [{value: null, disabled: true}, Validators.required],
|
||||
certificateValue: [{value: null, disabled: true}, Validators.required],
|
||||
certificateRegExPattern: [{value: null, disabled: true}, Validators.required],
|
||||
allowCreateNewDevicesByX509Certificate: [{value: null, disabled: true}]
|
||||
allowCreateNewDevicesByX509Certificate: [{value: null, disabled: true}, Validators.required]
|
||||
});
|
||||
this.provisionConfigurationFormGroup.get('type').valueChanges.subscribe((type) => {
|
||||
if (type === DeviceProvisionType.DISABLED) {
|
||||
@ -117,8 +117,6 @@ export class DeviceProfileProvisionConfigurationComponent implements ControlValu
|
||||
this.provisionConfigurationFormGroup.get('certificateValue').enable({emitEvent: false});
|
||||
this.provisionConfigurationFormGroup.get('certificateRegExPattern').enable({emitEvent: false});
|
||||
this.provisionConfigurationFormGroup.get('allowCreateNewDevicesByX509Certificate').enable({emitEvent: false});
|
||||
this.provisionConfigurationFormGroup.get('provisionDeviceSecret').disable({emitEvent: false});
|
||||
this.provisionConfigurationFormGroup.get('provisionDeviceKey').disable({emitEvent: false});
|
||||
} else {
|
||||
const provisionDeviceSecret: string = this.provisionConfigurationFormGroup.get('provisionDeviceSecret').value;
|
||||
if (!provisionDeviceSecret || !provisionDeviceSecret.length) {
|
||||
@ -130,9 +128,6 @@ export class DeviceProfileProvisionConfigurationComponent implements ControlValu
|
||||
}
|
||||
this.provisionConfigurationFormGroup.get('provisionDeviceSecret').enable({emitEvent: false});
|
||||
this.provisionConfigurationFormGroup.get('provisionDeviceKey').enable({emitEvent: false});
|
||||
this.provisionConfigurationFormGroup.get('certificateValue').disable({emitEvent: false});
|
||||
this.provisionConfigurationFormGroup.get('certificateRegExPattern').disable({emitEvent: false});
|
||||
this.provisionConfigurationFormGroup.get('allowCreateNewDevicesByX509Certificate').disable({emitEvent: false});
|
||||
}
|
||||
});
|
||||
this.provisionConfigurationFormGroup.valueChanges.subscribe(() => {
|
||||
@ -178,6 +173,7 @@ export class DeviceProfileProvisionConfigurationComponent implements ControlValu
|
||||
|
||||
private updateModel(): void {
|
||||
let deviceProvisionConfiguration: DeviceProvisionConfiguration = null;
|
||||
this.resetFormControls(this.provisionConfigurationFormGroup.value);
|
||||
if (this.provisionConfigurationFormGroup.valid) {
|
||||
deviceProvisionConfiguration = this.provisionConfigurationFormGroup.getRawValue();
|
||||
}
|
||||
@ -194,4 +190,15 @@ export class DeviceProfileProvisionConfigurationComponent implements ControlValu
|
||||
horizontalPosition: 'right'
|
||||
}));
|
||||
}
|
||||
|
||||
private resetFormControls(value: DeviceProvisionConfiguration) {
|
||||
if (value.type === DeviceProvisionType.CHECK_PRE_PROVISIONED_DEVICES || value.type === DeviceProvisionType.ALLOW_CREATE_NEW_DEVICES) {
|
||||
this.provisionConfigurationFormGroup.get('certificateValue').reset({value: null, disabled: true}, {emitEvent: false});
|
||||
this.provisionConfigurationFormGroup.get('certificateRegExPattern').reset({value: null, disabled: true}, {emitEvent: false});
|
||||
this.provisionConfigurationFormGroup.get('allowCreateNewDevicesByX509Certificate').reset({value: null, disabled: true}, {emitEvent: false});
|
||||
} else if (value.type === DeviceProvisionType.X509_CERTIFICATE_CHAIN) {
|
||||
this.provisionConfigurationFormGroup.get('provisionDeviceSecret').reset({value: null, disabled: true}, {emitEvent: false});
|
||||
this.provisionConfigurationFormGroup.get('provisionDeviceKey').reset({value: null, disabled: true}, {emitEvent: false});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1506,7 +1506,7 @@
|
||||
"certificate-chain": "X509 Certificates Chain",
|
||||
"hint-certificate-chain": "X.509 certificates strategy is used to provision devices by client certificates in two-way TLS communication. This strategy can check for pre-provisioned devices, update X.509 device credentials, or create new devices. The user uploads X.509 certificate to the device profile and sets a regular expression to fetch the device name from Common Name (CN).<br><br>Client certificates must be signed by X.509 certificate, pre-uploaded for this device profile to provision devices by the strategy. The client must establish a TLS connection using the entire chain of certificates (this chain must include device profile X.509 certificate on the last level). If a device already exists with outdated X.509 credentials, this strategy automatically updates it with the device certificate's credentials from the chain. <br><br><b>Important:</b> Uploaded certificates should be neither root nor intermediate certificates that are provided by a well-known Certificate Authority (CA).",
|
||||
"allow-create-new-devices": "Create new devices",
|
||||
"hint-allow-create-new-devices": "Hint: if selected new devices will be created with correct device credentials from client certificate.",
|
||||
"hint-allow-create-new-devices": "Hint: if selected new devices will be created and client certificate will be used as device credentials.",
|
||||
"certificate-value": "Certificate in PEM format",
|
||||
"certificate-value-required": "Certificate in PEM format is required",
|
||||
"cn-regex-variable": "CN Regular Expression variable",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user