Skip to content

Commit

Permalink
[TEST] Added stuff to retrieve certificates from Azure Key Vault.
Browse files Browse the repository at this point in the history
  • Loading branch information
antoniotarricone committed Dec 11, 2023
1 parent 38ff17e commit e58140e
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;

/**
* @author Antonio Tarricone
Expand Down Expand Up @@ -120,4 +121,18 @@ Uni<VerifySignatureResponse> verifySignature(
@PathParam("keyName") String keyName,
@PathParam("keyVersion") String keyVersion,
VerifySignatureRequest verifySignatureRequest);

/**
* @param authorization
* @param keyName
* @param createKeyRequest
* @return
*/
@Path("/certificates/{certificateName}")
@GET
@Produces(MediaType.APPLICATION_JSON)
@ClientQueryParam(name = "api-version", value = "${azure-key-vault-api.version}")
Uni<Response> getCertificate(
@HeaderParam("Authorization") String authorization,
@PathParam("certificateName") String certificateName);
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
import it.pagopa.swclient.mil.auth.azure.keyvault.bean.VerifySignatureResponse;
import it.pagopa.swclient.mil.auth.azure.keyvault.client.AzureKeyVaultClient;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.ws.rs.core.Response;

/**
* @author Antonio Tarricone
Expand Down Expand Up @@ -99,4 +100,14 @@ public Uni<VerifySignatureResponse> verifySignature(String accessToken, String k
Log.debugf("Verifing signature with key [%s/%s]: [%s]", keyName, keyVersion, verifySignatureRequest);
return client.verifySignature(BEARER + accessToken, keyName, keyVersion, verifySignatureRequest);
}

/**
* @param accessToken
* @param certificateName
* @return
*/
public Uni<Response> getCertificate(String accessToken, String certificateName) {
Log.debugf("Retrieving certificate [%s].", certificateName);
return client.getCertificate(BEARER + accessToken, certificateName);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
/*
* CertificateResource.java
*
* 21 mar 2023
*/
package it.pagopa.swclient.mil.auth.resource;

import java.util.UUID;

import org.jboss.logging.MDC;

import io.quarkus.logging.Log;
import io.smallrye.mutiny.Uni;
import it.pagopa.swclient.mil.auth.azure.auth.service.AzureAuthService;
import it.pagopa.swclient.mil.auth.azure.keyvault.service.AzureKeyVaultService;
import jakarta.inject.Inject;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.PathParam;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;
import jakarta.ws.rs.core.Response;

/**
* @author Antonio Tarricone
*/
@Path("/certificates")
public class CertificateResource {
/*
*
*/
AzureAuthService authService;

/*
*
*/
AzureKeyVaultService keyVaultService;

/**
*
* @param authService
* @param keyVaultService
*/
@Inject
CertificateResource(AzureAuthService authService, AzureKeyVaultService keyVaultService) {
this.authService=authService;
this.keyVaultService=keyVaultService;
}

/**
* @return
*/
@Path("/{certificateName}")
@GET
@Produces(MediaType.APPLICATION_JSON)
public Uni<Response> get(@PathParam("certificateName") String certificateName) {
String correlationId = UUID.randomUUID().toString();
MDC.put("requestId", correlationId);
Log.debug("get - Input parameters: n/a");
return authService.getAccessToken().chain(x -> keyVaultService.getCertificate(x.getToken(), certificateName));
}
}

0 comments on commit e58140e

Please sign in to comment.