Azure / Azure/azure-sdk-for-java

[FEATURE REQ] Feature parity with KeyVault Secret SDK for JCA

Open
#23,547 2 comments 0 reactions 1 assignee Claimed by @rujche View on GitHub
azure-spring azure-spring-jca Client feature-request
Dominant language
Java
Stars
2.6k
Forks
2.2k
Avg merge
2d 8h
Merged PRs (30d)
178

Description

## Context

Azure KeyVault JCA is the bridge between Azure KeyVault Certificate and JDK JCA API.

So the library should have same feature set as [Azure KeyVault Certificate SDK](https://github.com/Azure/azure-sdk-for-java/tree/main/sdk/keyvault/azure-security-keyvault-certificates) from configuration perspective.

Including:

* Authentication methods
* Configurations
* Proxy
* RetryPolicy
* Logging Options
* HttpOptions

And this JCA lib should consume the same environment as Azure KeyVault Certificate SDK does.

For example , SDK accepts `AZURE_KEYVAULT_ENDPOINT` environment to config endpoint, which should be takes by JCA lib as well.

## Design

JCA is built with a homebrew *Certificate Client* instead of Azure SDK Certificate Client for fewer dependencies

but this design causes lots of issues so far, like:

* feature missing like the retry policy is not existing in JCA but a standard feature across all Azure SDKs
* incomplete authentication methods

so, in the new design:

* JCA on top of Azure SDK Certificate Client, no more homebrew client.
* Provide a shaded uber jar to avoid any classpath pollution.
* JCA should be extensible, user should be able to provide a `CertificateClientBuilder` or `CertificateClient` or `CertificateAsyncClient` to it

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.