Interface AcmeChallengeProvider
- All Known Implementing Classes:
Http01ChallengeProvider, JndiDns01ChallengeProvider
public interface AcmeChallengeProvider
Explicit evidence-producing ACME challenge-provider SPI.
A provider receives no persistence or order-mutation authority. It may only evaluate the exact immutable attempt and return a finite result. The ACME service constructs and persists authoritative evidence after verifying every returned binding.
Thread safety
Implementations must be thread-safe; validate(AcmeChallengeProvider.Context, ProviderConfig, CancellationSignal) may be called
concurrently for independent authorization attempts.
- Since:
- 1.0
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic final recordExact immutable challenge input; values are sensitive and must never be logged.static final recordFinite provider result without raw network, DNS, token or response data. -
Method Summary
Modifier and TypeMethodDescriptionReturns the exact challenge types supported by this provider.id()Returns the stable provider identity.validate(AcmeChallengeProvider.Context context, ProviderConfig configuration, CancellationSignal cancellation) Performs one bounded external validation attempt.
-
Method Details
-
id
String id()Returns the stable provider identity.- Returns:
- the identity used by explicit provider configuration
-
challengeTypes
Set<AcmeState.ChallengeType> challengeTypes()Returns the exact challenge types supported by this provider.- Returns:
- an immutable set of supported challenge types
-
validate
AcmeChallengeProvider.Result validate(AcmeChallengeProvider.Context context, ProviderConfig configuration, CancellationSignal cancellation) Performs one bounded external validation attempt.- Parameters:
context- immutable challenge and timing inputconfiguration- explicit provider configurationcancellation- signal checked while external work is in progress- Returns:
- a finite, non-sensitive validation result
-