Class LetsEncryptRecorder

java.lang.Object
io.quarkus.tls.runtime.LetsEncryptRecorder

public class LetsEncryptRecorder extends Object
Recorder for Let's Encrypt support.
  • Constructor Details

    • LetsEncryptRecorder

      public LetsEncryptRecorder()
  • Method Details

    • initialize

      public void initialize(Supplier<io.quarkus.tls.TlsConfigurationRegistry> registry)
    • challengeHandler

      public io.vertx.core.Handler<io.vertx.ext.web.RoutingContext> challengeHandler()
      Returns a handler that serves the Let's Encrypt challenge. The route only accept `GET` request. If a challenge has not been set, it returns a 404 status code. If a challenge has been set, it returns the challenge content if the token matches, otherwise it returns a 404 status code.
      Returns:
      the handler that serves the Let's Encrypt challenge, returns a 404 status code if the challenge is not set.
    • cleanupChallenge

      public void cleanupChallenge(io.vertx.ext.web.RoutingContext rc)
      Cleans up the ACME Challenge.

      If the challenge has not been set or has already being cleared, it returns a 404 status code. Otherwise, it clears the challenge and returns a 204 status code.

      Parameters:
      rc - the routing context
    • ready

      public void ready(io.vertx.ext.web.RoutingContext rc)
      Checks if the application is configured correctly to serve the Let's Encrypt challenge.

      It verifies that the application is configured to use HTTPS (either using the default configuration) or using the TLS configuration with the name indicated with the `key` query parameter.

      Returns a 204 status code if the application is ready to serve the challenge (but the challenge is not yet configured), and if the application is configured properly. Returns a 200 status code if the challenge is already set, the response body contains the ACME challenge JSON representation (containing the `challenge-resource` and `challenge-content` fields). Returns a 503 status code if the application is not configured properly.

      Parameters:
      rc - the routing context
    • reload

      public io.vertx.core.Handler<io.vertx.ext.web.RoutingContext> reload()
    • setupCustomizer

      public Consumer<io.vertx.ext.web.Route> setupCustomizer()
    • chalengeAdminHandler

      public io.vertx.core.Handler<io.vertx.ext.web.RoutingContext> chalengeAdminHandler()