Pull request #667: RED-6362 - Cannot add KMS signature
Merge in RED/persistence-service from bugfix/RED-6362-kms to master * commit '52480314c35562b8f15e7cee4e6b5f87538b1a3a': RED-6362 - Cannot add KMS signature - update saveDigitalSignatureKms signature - move the convert from DigitalSignatureKms to DigitalSignatureKmsEntity to the service - remove the magicConvertor which cause problem for the certificate
This commit is contained in:
commit
f2a53d4da4
@ -117,7 +117,7 @@ public class DigitalSignatureController implements DigitalSignatureResource {
|
||||
@PreAuthorize("hasAuthority('" + WRITE_DIGITAL_SIGNATURE + "')")
|
||||
public DigitalSignatureKmsViewModel saveDigitalSignatureKms(@RequestBody DigitalSignatureKms digitalSignature) {
|
||||
|
||||
DigitalSignatureKmsViewModel result = convert(digitalSignatureKmsService.saveDigitalSignature(convert(digitalSignature)));
|
||||
DigitalSignatureKmsViewModel result = convert(digitalSignatureKmsService.saveDigitalSignature(digitalSignature));
|
||||
auditPersistenceService.insertRecord(AuditRequest.builder()
|
||||
.userId(KeycloakSecurity.getUserId())
|
||||
.objectId(DIGITAL_SIGNATURE_AUDIT_ID)
|
||||
@ -162,20 +162,6 @@ public class DigitalSignatureController implements DigitalSignatureResource {
|
||||
}
|
||||
|
||||
|
||||
private DigitalSignatureKmsEntity convert(DigitalSignatureKms digitalSignatureKms) {
|
||||
|
||||
return DigitalSignatureKmsEntity.builder()
|
||||
.certificate(digitalSignatureKms.getCertificate().getBytes(StandardCharsets.UTF_8))
|
||||
.kmsAccessKey(digitalSignatureKms.getKmsAccessKey())
|
||||
.kmsKeyId(digitalSignatureKms.getKmsKeyId())
|
||||
.kmsRegion(digitalSignatureKms.getKmsRegion())
|
||||
.kmsSecretKey(digitalSignatureKms.getKmsSecretKey())
|
||||
.kmsServiceEndpoint(digitalSignatureKms.getKmsServiceEndpoint())
|
||||
.certificateName(digitalSignatureKms.getCertificateName())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
||||
private DigitalSignatureEntity convert(DigitalSignatureViewModel digitalSignature) {
|
||||
|
||||
return DigitalSignatureEntity.builder()
|
||||
|
||||
@ -1,5 +1,7 @@
|
||||
package com.iqser.red.service.persistence.management.v1.processor.service;
|
||||
|
||||
import java.nio.charset.StandardCharsets;
|
||||
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -10,7 +12,6 @@ import com.iqser.red.service.persistence.management.v1.processor.entity.configur
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.BadRequestException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.exception.NotFoundException;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.service.persistence.repository.DigitalSignatureKmsRepository;
|
||||
import com.iqser.red.service.persistence.management.v1.processor.utils.MagicConverter;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.DigitalSignatureKms;
|
||||
import com.iqser.red.service.persistence.service.v1.api.shared.model.dossiertemplate.configuration.DigitalSignatureType;
|
||||
|
||||
@ -29,11 +30,11 @@ public class DigitalSignatureKmsService {
|
||||
private final PDFTronClient pdfTronRedactionClient;
|
||||
|
||||
|
||||
public DigitalSignatureKmsEntity saveDigitalSignature(DigitalSignatureKmsEntity digitalSignature) {
|
||||
public DigitalSignatureKmsEntity saveDigitalSignature(DigitalSignatureKms digitalSignatureKms) {
|
||||
|
||||
log.info("Validate digital KMS signature before saving");
|
||||
try {
|
||||
pdfTronRedactionClient.testDigitalSignatureKms(MagicConverter.convert(digitalSignature, DigitalSignatureKms.class));
|
||||
pdfTronRedactionClient.testDigitalSignatureKms(digitalSignatureKms);
|
||||
} catch (FeignException e) {
|
||||
if (e.status() == HttpStatus.BAD_REQUEST.value()) {
|
||||
throw new BadRequestException(e.getMessage(), e);
|
||||
@ -41,6 +42,7 @@ public class DigitalSignatureKmsService {
|
||||
throw new BadRequestException("Could not validate digital KMS signature", e);
|
||||
}
|
||||
log.info("Digital KMS signature is valid");
|
||||
DigitalSignatureKmsEntity digitalSignature = convert(digitalSignatureKms);
|
||||
|
||||
encrypt(digitalSignature);
|
||||
var result = digitalSignatureKmsRepository.save(digitalSignature);
|
||||
@ -85,4 +87,17 @@ public class DigitalSignatureKmsService {
|
||||
digitalSignatureTypeService.deleteDigitalSignatureType();
|
||||
}
|
||||
|
||||
private DigitalSignatureKmsEntity convert(DigitalSignatureKms digitalSignatureKms) {
|
||||
|
||||
return DigitalSignatureKmsEntity.builder()
|
||||
.certificate(digitalSignatureKms.getCertificate().getBytes(StandardCharsets.UTF_8))
|
||||
.kmsAccessKey(digitalSignatureKms.getKmsAccessKey())
|
||||
.kmsKeyId(digitalSignatureKms.getKmsKeyId())
|
||||
.kmsRegion(digitalSignatureKms.getKmsRegion())
|
||||
.kmsSecretKey(digitalSignatureKms.getKmsSecretKey())
|
||||
.kmsServiceEndpoint(digitalSignatureKms.getKmsServiceEndpoint())
|
||||
.certificateName(digitalSignatureKms.getCertificateName())
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user