From 819da616995bc3fe270c05a77bae89fbb5861e1e Mon Sep 17 00:00:00 2001 From: Giulia Tremolada <124147597+giulia-tremolada@users.noreply.github.com> Date: Thu, 26 Sep 2024 12:06:13 +0200 Subject: [PATCH] [SELC-5508] feat: implement Namirial option in onboarding functions (#505) --- .../onboarding/config/OnboardingFunctionConfig.java | 12 +++++++++++- .../onboarding/config/PagoPaSignatureConfig.java | 4 ++++ .../src/main/resources/application.properties | 2 ++ .../onboarding-functions/env/dev/terraform.tfvars | 5 +++++ .../onboarding-functions/env/prod/terraform.tfvars | 4 ++++ .../onboarding-functions/env/uat/terraform.tfvars | 4 ++++ 6 files changed, 30 insertions(+), 1 deletion(-) diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/config/OnboardingFunctionConfig.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/config/OnboardingFunctionConfig.java index c6552659b..34f32f2d8 100644 --- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/config/OnboardingFunctionConfig.java +++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/config/OnboardingFunctionConfig.java @@ -27,6 +27,7 @@ public class OnboardingFunctionConfig { private static final Logger log = LoggerFactory.getLogger(OnboardingFunctionConfig.class); public static final String SIGNATURE_SOURCE_ARUBA = "aruba"; + public static final String SIGNATURE_SOURCE_NAMIRIAL = "namirial"; public static final String SIGNATURE_SOURCE_DISABLED = "disabled"; void onStart(@Observes StartupEvent ev, OnboardingRepository repository) { @@ -62,6 +63,12 @@ public Pkcs7HashSignService arubaPkcs7HashSignService(){ return new ArubaPkcs7HashSignServiceImpl(new ArubaSignServiceImpl()); } + public Pkcs7HashSignService namirialPkcs7HashSignService(String username, String password){ + log.info("Signature will be performed using NamirialPkcs7HashSignServiceImpl"); + return new NamirialPkcs7HashSignServiceImpl(new NamiralSignServiceImpl(username,password)); + } + + public Pkcs7HashSignService disabledPkcs7HashSignService(){ log.info("Signature will be performed using Pkcs7HashSignService"); return new Pkcs7HashSignService(){ @@ -82,9 +89,12 @@ public Pkcs7HashSignService pkcs7HashSignService(){ return new Pkcs7HashSignServiceImpl(); } @ApplicationScoped - public PadesSignService padesSignService(@ConfigProperty(name = "onboarding-functions.pagopa-signature.source") String source){ + public PadesSignService padesSignService(@ConfigProperty(name = "onboarding-functions.pagopa-signature.source") String source, + @ConfigProperty(name = "onboarding-functions.pagopa-signature.namirial-user") String username, + @ConfigProperty(name = "onboarding-functions.pagopa-signature.namirial-psw") String psw){ return switch (source) { case SIGNATURE_SOURCE_ARUBA -> new PadesSignServiceImpl(arubaPkcs7HashSignService()); + case SIGNATURE_SOURCE_NAMIRIAL -> new PadesSignServiceImpl(namirialPkcs7HashSignService(username, psw)); case SIGNATURE_SOURCE_DISABLED -> new PadesSignServiceImpl(disabledPkcs7HashSignService()); default -> new PadesSignServiceImpl(pkcs7HashSignService()); }; diff --git a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/config/PagoPaSignatureConfig.java b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/config/PagoPaSignatureConfig.java index b9eff86a9..040350657 100644 --- a/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/config/PagoPaSignatureConfig.java +++ b/apps/onboarding-functions/src/main/java/it/pagopa/selfcare/onboarding/config/PagoPaSignatureConfig.java @@ -13,4 +13,8 @@ public interface PagoPaSignatureConfig { String location(); String applyOnboardingTemplateReason(); + + String namirialUser(); + + String namirialPsw(); } diff --git a/apps/onboarding-functions/src/main/resources/application.properties b/apps/onboarding-functions/src/main/resources/application.properties index d341198c9..cf163cd42 100644 --- a/apps/onboarding-functions/src/main/resources/application.properties +++ b/apps/onboarding-functions/src/main/resources/application.properties @@ -170,6 +170,8 @@ onboarding-functions.pagopa-signature.source=${PAGOPA_SIGNATURE_SOURCE:disabled} onboarding-functions.pagopa-signature.signer=${PAGOPA_SIGNATURE_SIGNER:PagoPA S.p.A.} onboarding-functions.pagopa-signature.location=${PAGOPA_SIGNATURE_LOCATION:Roma} onboarding-functions.pagopa-signature.apply-onboarding-template-reason=${PAGOPA_SIGNATURE_ONBOARDING_REASON_TEMPLATE:Firma contratto adesione prodotto} +onboarding-functions.pagopa-signature.namirial-user=${NAMIRIAL_SIGN_SERVICE_IDENTITY_USER:test} +onboarding-functions.pagopa-signature.namirial-psw=${NAMIRIAL_SIGN_SERVICE_IDENTITY_PASSWORD:test} ## Jacoco quarkus.jacoco.includes=it/pagopa/selfcare/onboarding/*,it/pagopa/selfcare/onboarding/service/**,it/pagopa/selfcare/onboarding/repository/** diff --git a/infra/functions/onboarding-functions/env/dev/terraform.tfvars b/infra/functions/onboarding-functions/env/dev/terraform.tfvars index b11bf4404..ba41927c2 100644 --- a/infra/functions/onboarding-functions/env/dev/terraform.tfvars +++ b/infra/functions/onboarding-functions/env/dev/terraform.tfvars @@ -102,4 +102,9 @@ app_settings = { "JWT_TOKEN_ISSUER" = "SPID" "JWT_TOKEN_PRIVATE_KEY" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/jwt-private-key/)" "JWT_TOKEN_KID" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/jwt-kid/)" + + ##NAMIRIAL SIGNATURE + "PAGOPA_SIGNATURE_SOURCE" = "disabled", + "NAMIRIAL_SIGN_SERVICE_IDENTITY_USER" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/namirial-sign-service-user/)", + "NAMIRIAL_SIGN_SERVICE_IDENTITY_PASSWORD" = "@Microsoft.KeyVault(SecretUri=https://selc-d-kv.vault.azure.net/secrets/namirial-sign-service-psw/)" } \ No newline at end of file diff --git a/infra/functions/onboarding-functions/env/prod/terraform.tfvars b/infra/functions/onboarding-functions/env/prod/terraform.tfvars index ec2668201..a2a50498f 100644 --- a/infra/functions/onboarding-functions/env/prod/terraform.tfvars +++ b/infra/functions/onboarding-functions/env/prod/terraform.tfvars @@ -115,4 +115,8 @@ app_settings = { "JWT_TOKEN_ISSUER" = "SPID" "JWT_TOKEN_PRIVATE_KEY" = "@Microsoft.KeyVault(SecretUri=https://selc-p-kv.vault.azure.net/secrets/jwt-private-key/)" "JWT_TOKEN_KID" = "@Microsoft.KeyVault(SecretUri=https://selc-p-kv.vault.azure.net/secrets/jwt-kid/)" + + ##NAMIRIAL SIGNATURE + "NAMIRIAL_SIGN_SERVICE_IDENTITY_USER" = "@Microsoft.KeyVault(SecretUri=https://selc-p-kv.vault.azure.net/secrets/namirial-sign-service-user/)", + "NAMIRIAL_SIGN_SERVICE_IDENTITY_PASSWORD" = "@Microsoft.KeyVault(SecretUri=https://selc-p-kv.vault.azure.net/secrets/namirial-sign-service-psw/)" } \ No newline at end of file diff --git a/infra/functions/onboarding-functions/env/uat/terraform.tfvars b/infra/functions/onboarding-functions/env/uat/terraform.tfvars index 5184b99c1..1df034e1f 100644 --- a/infra/functions/onboarding-functions/env/uat/terraform.tfvars +++ b/infra/functions/onboarding-functions/env/uat/terraform.tfvars @@ -114,4 +114,8 @@ app_settings = { "JWT_TOKEN_ISSUER" = "SPID" "JWT_TOKEN_PRIVATE_KEY" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/jwt-private-key/)" "JWT_TOKEN_KID" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/jwt-kid/)" + + ##NAMIRIAL SIGNATURE + "NAMIRIAL_SIGN_SERVICE_IDENTITY_USER" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/namirial-sign-service-user/)", + "NAMIRIAL_SIGN_SERVICE_IDENTITY_PASSWORD" = "@Microsoft.KeyVault(SecretUri=https://selc-u-kv.vault.azure.net/secrets/namirial-sign-service-psw/)" } \ No newline at end of file