java.lang.Object
org.shredzone.acme4j.Session
A
Session
tracks the entire communication with a CA.
To create a session instance, use its constructor. It requires the URI of the ACME
server to connect to. This can be the location of the CA's directory (via http
or https
protocol), or a special URI (via acme
protocol). See the
documentation about valid URIs.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionconnect()
Returns a newConnection
to the ACME server.protected final void
finalize()
Returns the date when the current directory records will expire.Returns the date when the directory has been modified the last time.Gets an Accept-Language header value that matches the current locale.Gets the current locale of this session, ornull
if no special language is selected.Gets the metadata of the provider's directory.getNonce()
Gets the last base64 encoded nonce, ornull
if the session is new.Gets the ACME serverURI
of this session.boolean
Returnstrue
if a copy of the directory is present in a local cache.Logs into an existing account.Returns the currentNetworkSettings
.provider()
Returns theAcmeProvider
that is used for this session.void
Purges the directory cache.resourceUrl
(Resource resource) resourceUrlOptional
(Resource resource) void
setDirectoryExpires
(ZonedDateTime directoryExpires) Sets the date when the current directory will expire.void
setDirectoryLastModified
(ZonedDateTime directoryLastModified) Sets the date when the directory has been modified the last time.void
Sets the locale used in this session.void
Sets the base64 encoded nonce received by the server.
-
Field Details
-
directoryLastModified
-
directoryExpires
-
-
Constructor Details
-
Session
Creates a newSession
.- Parameters:
serverUri
- URI string of the ACME server to connect to. This is either the location of the CA's ACME directory (usinghttp
orhttps
protocol), or a special URI (using theacme
protocol).- Throws:
IllegalArgumentException
- if no ACME provider was found for the server URI.
-
Session
Creates a newSession
.- Parameters:
serverUri
-URI
of the ACME server to connect to. This is either the location of the CA's ACME directory (usinghttp
orhttps
protocol), or a special URI (using theacme
protocol).- Throws:
IllegalArgumentException
- if no ACME provider was found for the server URI.
-
Session
Creates a newSession
using the givenAcmeProvider
.This constructor is only to be used for testing purposes.
- Parameters:
serverUri
-URI
of the ACME serverprovider
-AcmeProvider
to be used- Since:
- 2.8
-
-
Method Details
-
login
Logs into an existing account. -
getServerUri
Gets the ACME serverURI
of this session. -
getNonce
Gets the last base64 encoded nonce, ornull
if the session is new. This method is mainly for internal use. -
setNonce
Sets the base64 encoded nonce received by the server. This method is mainly for internal use. -
getLocale
Gets the current locale of this session, ornull
if no special language is selected. -
setLocale
Sets the locale used in this session. The locale is passed to the server as Accept-Language header. The server may respond with localized messages. The default is the system's language. If set tonull
, any language will be accepted. -
getLanguageHeader
Gets an Accept-Language header value that matches the current locale. This method is mainly for internal use.- Since:
- 3.0.0
-
networkSettings
Returns the currentNetworkSettings
.- Returns:
NetworkSettings
- Since:
- 2.8
-
provider
Returns theAcmeProvider
that is used for this session.- Returns:
AcmeProvider
-
connect
Returns a newConnection
to the ACME server.- Returns:
Connection
-
resourceUrl
Gets theURL
of the givenResource
. This may involve connecting to the server and fetching the directory. The result is cached.- Parameters:
resource
-Resource
to get theURL
of- Returns:
URL
of the resource- Throws:
AcmeException
- if the server does not offer theResource
-
resourceUrlOptional
Gets theURL
of the givenResource
. This may involve connecting to the server and fetching the directory. The result is cached.- Parameters:
resource
-Resource
to get theURL
of- Returns:
URL
of the resource, or empty if the resource is not available.- Throws:
AcmeException
- Since:
- 3.0.0
-
getMetadata
Gets the metadata of the provider's directory. This may involve connecting to the server and fetching the directory. The result is cached.- Returns:
Metadata
. May contain no data, but is nevernull
.- Throws:
AcmeException
-
getDirectoryLastModified
Returns the date when the directory has been modified the last time.- Returns:
- The last modification date of the directory, or
null
if unknown (directory has not been read yet or did not provide this information). - Since:
- 2.10
-
setDirectoryLastModified
Sets the date when the directory has been modified the last time. Should only be invoked byAcmeProvider
implementations.- Parameters:
directoryLastModified
- The last modification date of the directory, ornull
if unknown (directory has not been read yet or did not provide this information).- Since:
- 2.10
-
getDirectoryExpires
Returns the date when the current directory records will expire. A fresh copy of the directory will be fetched automatically after that instant.- Returns:
- The expiration date, or
null
if the server did not provide this information. - Since:
- 2.10
-
setDirectoryExpires
Sets the date when the current directory will expire. Should only be invoked byAcmeProvider
implementations.- Parameters:
directoryExpires
- Expiration date, ornull
if the server did not provide this information.- Since:
- 2.10
-
hasDirectory
Returnstrue
if a copy of the directory is present in a local cache. It is not evaluated if the cached copy has expired though.- Returns:
true
if a directory is available.- Since:
- 2.10
-
purgeDirectoryCache
Purges the directory cache. Makes sure that a fresh copy of the directory will be read from the CA on the next time the directory is accessed.- Since:
- 3.0.0
-
finalize
-