Class BcX509CredentialFrameworkProvider
- All Implemented Interfaces:
ConfigurableProvider<CredentialFramework>, CredentialFrameworkProvider
This provider exposes the internal X.509 framework implementation to the PKI
runtime through the CredentialFrameworkProvider SPI. It is
responsible for identifying the backend, advertising any provider-specific
configuration keys it supports, and allocating a new
CredentialFramework instance when selected by bootstrap or runtime
wiring logic.
The allocated framework instance is BcX509CredentialFramework in its
default partially wired form. In that state, the framework provides X.509 CSR
parsing, proof-of-possession verification, and attribute mapping, while
issuance and status-object generation remain intentionally unsupported until
a caller supplies concrete backend components through the framework's
wired(...) methods.
Service registration
This class is intended to be discovered through
ServiceLoader via the CredentialFrameworkProvider
SPI registration in META-INF/services.
Configuration model
The current implementation does not consume any provider-specific
configuration keys beyond backend selection through
ProviderConfig.backendId(). Consequently, supportedKeys()
returns an empty set and bootstrap will reject any
zeroecho.pki.framework.* configuration keys other than the backend
selector itself.
Thread-safety
This class is stateless and thread-safe.
-
Constructor Summary
ConstructorsConstructorDescriptionCreates a provider that supplies the Bouncy Castle X.509 framework. -
Method Summary
Modifier and TypeMethodDescriptionallocate(ProviderConfig config) Allocates a new Bouncy Castle backed X.509 credential framework instance.id()Returns the stable provider identifier used to select this X.509 framework backend.Returns the provider-specific configuration keys supported by this provider.voidvalidateConfig(ProviderConfig config) Validates configuration for the Bouncy Castle backed X.509 credential framework provider.
-
Constructor Details
-
BcX509CredentialFrameworkProvider
public BcX509CredentialFrameworkProvider()Creates a provider that supplies the Bouncy Castle X.509 framework.
-
-
Method Details
-
id
Returns the stable provider identifier used to select this X.509 framework backend.- Specified by:
idin interfaceConfigurableProvider<CredentialFramework>- Returns:
- provider identifier
x509-bc
-
supportedKeys
Returns the provider-specific configuration keys supported by this provider.The current implementation does not define any provider-specific keys. Backend selection is performed only through
ProviderConfig.backendId().- Specified by:
supportedKeysin interfaceConfigurableProvider<CredentialFramework>- Returns:
- empty immutable set
-
validateConfig
Validates configuration for the Bouncy Castle backed X.509 credential framework provider.This provider currently defines no provider-specific keys. Unknown keys are ignored for forward compatibility and are reported only by name through JUL warning output. The backend id must match
id().- Specified by:
validateConfigin interfaceConfigurableProvider<CredentialFramework>- Parameters:
config- provider configuration used to select this backend; must not benull- Throws:
IllegalArgumentException- if the backend id does not match this provider identifier
-
allocate
Allocates a new Bouncy Castle backed X.509 credential framework instance.The supplied configuration must target this provider by using a backend id equal to
id(). The returned framework is a newBcX509CredentialFrameworkinstance in its default partially wired form.- Specified by:
allocatein interfaceConfigurableProvider<CredentialFramework>- Specified by:
allocatein interfaceCredentialFrameworkProvider- Parameters:
config- provider configuration used to select this backend; must not benull- Returns:
- newly allocated X.509 credential framework instance
- Throws:
IllegalArgumentException- ifconfigisnullor if its backend id does not match this provider identifier
-