Class AbstractServerSslBuilder

java.lang.Object
io.micronaut.http.ssl.SslBuilder<io.netty.handler.ssl.SslContext>
io.micronaut.http.server.netty.ssl.AbstractServerSslBuilder
All Implemented Interfaces:
ServerSslBuilder
Direct Known Subclasses:
CertificateProvidedSslBuilder, SelfSignedSslBuilder

public abstract class AbstractServerSslBuilder extends io.micronaut.http.ssl.SslBuilder<io.netty.handler.ssl.SslContext> implements ServerSslBuilder
Base class for ServerSslBuilder implementations. This class implements the various build methods for ServerSslBuilder and SslBuilder using SslBuilder.getTrustManagerFactory(io.micronaut.http.ssl.SslConfiguration) and getKeyManagerFactory(io.micronaut.http.ssl.SslConfiguration). Subclasses can override those methods with their own implementation that will be called on each ssl context build.
Since:
4.0.0
  • Constructor Summary

    Constructors
    Constructor
    Description
    AbstractServerSslBuilder(io.micronaut.core.io.ResourceResolver resourceResolver, io.micronaut.http.server.HttpServerConfiguration httpServerConfiguration)
    Create a new server SSL builder.
  • Method Summary

    Modifier and Type
    Method
    Description
    final Optional<io.netty.handler.ssl.SslContext>
     
    final Optional<io.netty.handler.ssl.SslContext>
    build(io.micronaut.http.ssl.SslConfiguration ssl)
     
    final Optional<io.netty.handler.ssl.SslContext>
    build(io.micronaut.http.ssl.SslConfiguration ssl, io.micronaut.http.HttpVersion httpVersion)
     
    final Optional<io.netty.incubator.codec.quic.QuicSslContext>
     
    getKeyManagerFactory(io.micronaut.http.ssl.SslConfiguration ssl)
     
    protected void
    processBuilder(@NonNull io.netty.handler.ssl.SslContextBuilder sslBuilder, @NonNull io.micronaut.http.ssl.SslConfiguration ssl, @NonNull io.micronaut.http.HttpVersion httpVersion)
    Post-process the context builder.

    Methods inherited from class io.micronaut.http.ssl.SslBuilder

    getKeyStore, getTrustManagerFactory, getTrustManagerFactory, getTrustStore, load

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.micronaut.http.server.netty.ssl.ServerSslBuilder

    getSslConfiguration
  • Constructor Details

    • AbstractServerSslBuilder

      public AbstractServerSslBuilder(io.micronaut.core.io.ResourceResolver resourceResolver, io.micronaut.http.server.HttpServerConfiguration httpServerConfiguration)
      Create a new server SSL builder.
      Parameters:
      resourceResolver - Resource resolver for default key/trust store loading implementation
      httpServerConfiguration - Server configuration for determining HTTP version
  • Method Details

    • build

      public final Optional<io.netty.handler.ssl.SslContext> build()
      Specified by:
      build in interface ServerSslBuilder
      Returns:
      Builds the SSL configuration wrapped inside an optional
    • build

      public final Optional<io.netty.handler.ssl.SslContext> build(io.micronaut.http.ssl.SslConfiguration ssl)
      Specified by:
      build in class io.micronaut.http.ssl.SslBuilder<io.netty.handler.ssl.SslContext>
    • build

      public final Optional<io.netty.handler.ssl.SslContext> build(io.micronaut.http.ssl.SslConfiguration ssl, io.micronaut.http.HttpVersion httpVersion)
      Specified by:
      build in class io.micronaut.http.ssl.SslBuilder<io.netty.handler.ssl.SslContext>
    • processBuilder

      protected void processBuilder(@NonNull @NonNull io.netty.handler.ssl.SslContextBuilder sslBuilder, @NonNull @NonNull io.micronaut.http.ssl.SslConfiguration ssl, @NonNull @NonNull io.micronaut.http.HttpVersion httpVersion)
      Post-process the context builder. This is used by the ACME ALPN challenge. Note that this is not called for QUIC, so it should only be used sparingly.
      Parameters:
      sslBuilder - The ssl context builder to post-process
      ssl - The ssl configuration
      httpVersion - The http version
    • buildQuic

      public final Optional<io.netty.incubator.codec.quic.QuicSslContext> buildQuic()
      Specified by:
      buildQuic in interface ServerSslBuilder
    • getKeyManagerFactory

      protected KeyManagerFactory getKeyManagerFactory(io.micronaut.http.ssl.SslConfiguration ssl)
      Overrides:
      getKeyManagerFactory in class io.micronaut.http.ssl.SslBuilder<io.netty.handler.ssl.SslContext>