- All Known Implementing Classes:
AbstractAcmeProvider,GenericAcmeProvider
public interface AcmeProvider
An
AcmeProvider provides methods to be used for communicating with the ACME
server. Implementations handle individual features of each ACME server.
Provider implementations must be registered with Java's ServiceLoader.
-
Method Summary
Modifier and TypeMethodDescriptionbooleanChecks if this provider accepts the given server URI.Creates aConnectionfor communication with the ACME server.createChallenge(Login login, JSON data) Creates aChallengeinstance for the given challenge data.Returns the provider's directory.Resolves the server URI and returns the matching directory URL.
-
Method Details
-
accepts
Checks if this provider accepts the given server URI.- Parameters:
serverUri- Server URI to test- Returns:
trueif this provider accepts the server URI,falseotherwise
-
resolve
Resolves the server URI and returns the matching directory URL.- Parameters:
serverUri- ServerURI- Returns:
- Resolved directory
URL - Throws:
IllegalArgumentException- if the serverURIis not accepted
-
connect
Creates aConnectionfor communication with the ACME server.- Parameters:
serverUri- ServerURI- Returns:
Connectionthat was generated
-
directory
Returns the provider's directory. The structure must contain resource URLs, and may optionally contain metadata.The default implementation resolves the server URI and fetches the directory via HTTP request. Subclasses may override this method, e.g. if the directory is static.
- Parameters:
session-Sessionto be usedserverUri- ServerURI- Returns:
- Directory data, as JSON object, or
nullif the directory has not been changed since the last request. - Throws:
AcmeException
-
createChallenge
Creates aChallengeinstance for the given challenge data.
-