diff --git a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DigitalSignatureController.java b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DigitalSignatureController.java index 1a4ebbedd..305b628da 100644 --- a/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DigitalSignatureController.java +++ b/persistence-service-v1/persistence-service-external-api-impl-v1/src/main/java/com/iqser/red/persistence/service/v1/external/api/impl/controller/DigitalSignatureController.java @@ -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() diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DigitalSignatureKmsService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DigitalSignatureKmsService.java index 4620630ba..be094fed3 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DigitalSignatureKmsService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/service/DigitalSignatureKmsService.java @@ -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(); + } + }