Interface AzureKeyVaultKeysReactiveClient
Reactive REST client for Azure Key Vault.
To use this client, the application.properties
must have the definition of the following
properties:
quarkus.rest-client.azure-key-vault-keys.url
must be set with the URL of Azure Key Vault;azure-key-vault-keys.api-version
must be7.4
;azure-key-vault-keys.get-keys.maxresults
must be set with the maximum number of items returned in a page by get operations.
- Author:
- Antonio Tarricone
-
Method Summary
Modifier and TypeMethodDescriptionio.smallrye.mutiny.Uni
<KeyBundle> createKey
(String accessToken, String keyName, KeyCreateParameters keyCreateParameters) Creates a new key, stores it, then returns key parameters and attributes to the client.io.smallrye.mutiny.Uni
<KeyOperationResult> decrypt
(String accessToken, String keyName, String keyVersion, KeyOperationParameters keyOperationParameters) Decrypts a single block of encrypted data.io.smallrye.mutiny.Uni
<DeletedKeyBundle> Deletes a key of any type from storage in Azure Key Vault.io.smallrye.mutiny.Uni
<KeyOperationResult> encrypt
(String accessToken, String keyName, String keyVersion, KeyOperationParameters keyOperationParameters) Encrypts an arbitrary sequence of bytes using an encryption key that is stored in a key vault.io.smallrye.mutiny.Uni
<KeyBundle> Returns the public part of a stored key.io.smallrye.mutiny.Uni
<KeyListResult> Lists keys in the specified vault.io.smallrye.mutiny.Uni
<KeyListResult> Lists keys in the specified vault.io.smallrye.mutiny.Uni
<KeyListResult> getKeyVersions
(String accessToken, String keyName) Returns a list of individual key versions with the same key name.io.smallrye.mutiny.Uni
<KeyListResult> getKeyVersions
(String accessToken, String keyName, String skiptoken) Returns a list of individual key versions with the same key name.io.smallrye.mutiny.Uni
<KeyOperationResult> sign
(String accessToken, String keyName, String keyVersion, KeySignParameters keySignParameters) Creates a signature from a digest using the specified key.io.smallrye.mutiny.Uni
<KeyVerifyResult> verify
(String accessToken, String keyName, String keyVersion, KeyVerifyParameters keyVerifyParameters) Verifies a signature using a specified key.
-
Method Details
-
createKey
@Path("/keys/{keyName}/create") @POST @Consumes("application/json") @Produces("application/json") @ClientHeaderParam(name="Authorization", value="Bearer {accessToken}") @ClientQueryParam(name="api-version", value="${azure-key-vault-keys.api-version}") io.smallrye.mutiny.Uni<KeyBundle> createKey(@NotBody String accessToken, @PathParam("keyName") String keyName, KeyCreateParameters keyCreateParameters) Creates a new key, stores it, then returns key parameters and attributes to the client.
- Parameters:
accessToken
- The value of access token got by Microsoft Entra ID.keyName
- The name for the new key. Regex pattern: ^[0-9a-zA-Z-]+$keyCreateParameters
-KeyCreateParameters
- Returns:
KeyBundle
- See Also:
-
getKeys
@Path("/keys") @GET @Produces("application/json") @ClientHeaderParam(name="Authorization", value="Bearer {accessToken}") @ClientQueryParam(name="maxresults",value="${azure-key-vault-keys.get-keys.maxresults}") @ClientQueryParam(name="api-version",value="${azure-key-vault-keys.api-version}") io.smallrye.mutiny.Uni<KeyListResult> getKeys(@NotBody String accessToken) Lists keys in the specified vault.
- Parameters:
accessToken
- The value of access token got by Microsoft Entra ID.- Returns:
KeyListResult
- See Also:
-
getKeys
@Path("/keys") @GET @Produces("application/json") @ClientHeaderParam(name="Authorization", value="Bearer {accessToken}") @ClientQueryParam(name="api-version",value="${azure-key-vault-keys.api-version}") @ClientQueryParam(name="maxresults",value="${azure-key-vault-keys.get-keys.maxresults}") io.smallrye.mutiny.Uni<KeyListResult> getKeys(@NotBody String accessToken, @QueryParam("$skiptoken") String skiptoken) Lists keys in the specified vault.
- Parameters:
accessToken
- The value of access token got by Microsoft Entra ID.skiptoken
- Token to handle paging.- Returns:
KeyListResult
- See Also:
-
getKey
@Path("/keys/{keyName}/{keyVersion}") @GET @Produces("application/json") @ClientHeaderParam(name="Authorization", value="Bearer {accessToken}") @ClientQueryParam(name="api-version", value="${azure-key-vault-keys.api-version}") io.smallrye.mutiny.Uni<KeyBundle> getKey(@NotBody String accessToken, @PathParam("keyName") String keyName, @PathParam("keyVersion") String keyVersion) Returns the public part of a stored key.
- Parameters:
accessToken
- The value of access token got by Microsoft Entra ID.keyName
- The name of the key to get.keyVersion
- The version of the key.- Returns:
KeyBundle
- See Also:
-
getKeyVersions
@Path("/keys/{keyName}/versions") @GET @Produces("application/json") @ClientHeaderParam(name="Authorization", value="Bearer {accessToken}") @ClientQueryParam(name="maxresults",value="${azure-key-vault-keys.get-key-version.maxresults}") @ClientQueryParam(name="api-version",value="${azure-key-vault-keys.api-version}") io.smallrye.mutiny.Uni<KeyListResult> getKeyVersions(@NotBody String accessToken, @PathParam("keyName") String keyName) Returns a list of individual key versions with the same key name.
- Parameters:
accessToken
- The value of access token got by Microsoft Entra ID.keyName
- The name of the key.- Returns:
KeyListResult
- See Also:
-
getKeyVersions
@Path("/keys/{keyName}/versions") @GET @Produces("application/json") @ClientHeaderParam(name="Authorization", value="Bearer {accessToken}") @ClientQueryParam(name="api-version",value="${azure-key-vault-keys.api-version}") @ClientQueryParam(name="maxresults",value="${azure-key-vault-keys.get-keys.maxresults}") io.smallrye.mutiny.Uni<KeyListResult> getKeyVersions(@NotBody String accessToken, @PathParam("keyName") String keyName, @QueryParam("$skiptoken") String skiptoken) Returns a list of individual key versions with the same key name.
- Parameters:
accessToken
- The value of access token got by Microsoft Entra ID.keyName
- The name of the key.skiptoken
- Token to handle paging.- Returns:
KeyListResult
- See Also:
-
sign
@Path("/keys/{keyName}/{keyVersion}/sign") @POST @Consumes("application/json") @Produces("application/json") @ClientHeaderParam(name="Authorization", value="Bearer {accessToken}") @ClientQueryParam(name="api-version", value="${azure-key-vault-keys.api-version}") io.smallrye.mutiny.Uni<KeyOperationResult> sign(@NotBody String accessToken, @PathParam("keyName") String keyName, @PathParam("keyVersion") String keyVersion, KeySignParameters keySignParameters) Creates a signature from a digest using the specified key.
- Parameters:
accessToken
- The value of access token got by Microsoft Entra ID.keyName
- The name of the key.keyVersion
- The version of the key.keySignParameters
-KeySignParameters
- Returns:
KeyOperationResult
- See Also:
-
verify
@Path("/keys/{keyName}/{keyVersion}/verify") @POST @Consumes("application/json") @Produces("application/json") @ClientHeaderParam(name="Authorization", value="Bearer {accessToken}") @ClientQueryParam(name="api-version", value="${azure-key-vault-keys.api-version}") io.smallrye.mutiny.Uni<KeyVerifyResult> verify(@NotBody String accessToken, @PathParam("keyName") String keyName, @PathParam("keyVersion") String keyVersion, KeyVerifyParameters keyVerifyParameters) Verifies a signature using a specified key.
- Parameters:
accessToken
- The value of access token got by Microsoft Entra ID.keyName
- The name of the key.keyVersion
- The version of the key.keyVerifyParameters
-KeyVerifyParameters
- Returns:
KeyVerifyResult
- See Also:
-
encrypt
@Path("/keys/{keyName}/{keyVersion}/encrypt") @POST @Consumes("application/json") @Produces("application/json") @ClientHeaderParam(name="Authorization", value="Bearer {accessToken}") @ClientQueryParam(name="api-version", value="${azure-key-vault-keys.api-version}") io.smallrye.mutiny.Uni<KeyOperationResult> encrypt(@NotBody String accessToken, @PathParam("keyName") String keyName, @PathParam("keyVersion") String keyVersion, KeyOperationParameters keyOperationParameters) Encrypts an arbitrary sequence of bytes using an encryption key that is stored in a key vault.
- Parameters:
accessToken
- The value of access token got by Microsoft Entra ID.keyName
- The name of the key.keyVersion
- The version of the key.keyOperationParameters
-KeyOperationParameters
- Returns:
KeyOperationResult
- See Also:
-
decrypt
@Path("/keys/{keyName}/{keyVersion}/decrypt") @POST @Consumes("application/json") @Produces("application/json") @ClientHeaderParam(name="Authorization", value="Bearer {accessToken}") @ClientQueryParam(name="api-version", value="${azure-key-vault-keys.api-version}") io.smallrye.mutiny.Uni<KeyOperationResult> decrypt(@NotBody String accessToken, @PathParam("keyName") String keyName, @PathParam("keyVersion") String keyVersion, KeyOperationParameters keyOperationParameters) Decrypts a single block of encrypted data.
- Parameters:
accessToken
- The value of access token got by Microsoft Entra ID.keyName
- The name of the key.keyVersion
- The version of the key.keyOperationParameters
-KeyOperationParameters
- Returns:
KeyOperationResult
- See Also:
-
deleteKey
@Path("/keys/{keyName}") @DELETE @Produces("application/json") @ClientHeaderParam(name="Authorization", value="Bearer {accessToken}") @ClientQueryParam(name="api-version", value="${azure-key-vault-keys.api-version}") io.smallrye.mutiny.Uni<DeletedKeyBundle> deleteKey(@NotBody String accessToken, @PathParam("keyName") String keyName) Deletes a key of any type from storage in Azure Key Vault.
- Parameters:
accessToken
- The value of access token got by Microsoft Entra ID.keyName
- The name of the key to delete.- Returns:
DeletedKeyBundle
- See Also:
-