java.lang.Object
com.predic8.membrane.core.config.security.acme.Acme

public class Acme extends Object
Description

Configures an ACME (RFC 8555) client, e.g. to retrieve TLS certificates from Let's Encrypt.

To store the key material and certificates, you can use the local file system or your Kubernetes cluster.

To use ACME:

  1. Register your domain and point the DNS record to your server(s) runnig Membrane.
  2. Let Membrane listen on port 80 and use the <acmeHttpChallenge /> (see below).
  3. Let Membrane listen on port 443 and use <ssl><acme .../><ssl> (see below). Here, you have to configure where Membrane will store the keys and certificates.

Topic
6. Security
  • Constructor Details

    • Acme

      public Acme()
  • Method Details

    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getDirectoryUrl

      public String getDirectoryUrl()
    • setDirectoryUrl

      public void setDirectoryUrl(String directoryUrl)
    • getHttpClientConfiguration

      public HttpClientConfiguration getHttpClientConfiguration()
    • setHttpClientConfiguration

      public void setHttpClientConfiguration(HttpClientConfiguration httpClientConfiguration)
    • isTermsOfServiceAgreed

      public boolean isTermsOfServiceAgreed()
    • setTermsOfServiceAgreed

      public void setTermsOfServiceAgreed(boolean termsOfServiceAgreed)
    • getContacts

      public String getContacts()
    • setContacts

      public void setContacts(String contacts)
      Example
      mailto:webmaster@example.com
    • getValidity

      public String getValidity()
    • setValidity

      public void setValidity(String validity)
      Example
      PT7D
    • getValidityDuration

      public org.joda.time.Duration getValidityDuration()
    • getAcmeSynchronizedStorage

      public AcmeSynchronizedStorage getAcmeSynchronizedStorage()
    • setAcmeSynchronizedStorage

      public void setAcmeSynchronizedStorage(AcmeSynchronizedStorage acmeSynchronizedStorage)
    • isExperimental

      public boolean isExperimental()
    • setExperimental

      public void setExperimental(boolean experimental)
    • getHosts

      public String getHosts()
    • setHosts

      public void setHosts(String hosts)
    • getRenewal

      public String getRenewal()
    • setRenewal

      public void setRenewal(String renewal)
      Default
      1/3
      Description
      When to renew the certificate. Can be "1/3" (meaning that the certificate will be renewed when 1/3 of the validity period is left) or "never" (meaning that renewal will never be attempted). If you choose "never", someone else should take care of renewing the key and certificate and update the storage accordingly.
    • getRetry

      public int getRetry()
    • setRetry

      public void setRetry(int retry)
      Default
      10000
      Description
      Number of milliseconds after which a retry should be attempted. (in case of any error, e.g. in case the ACME server cannot be reached or validation failed.)
    • getValidationMethod

      public AcmeValidation getValidationMethod()
    • setValidationMethod

      public void setValidationMethod(AcmeValidation validationMethod)