anchor.diff:  ----
   {
     serverOptions {
  -    ssl = SslOptions.from(config)
  +    ssl = SslOptions.from(config).get()
  +  }
  +}
  +----
  +
  +==== Client Authentication (Mutual TLS)
  +
  +To enable 2-way TLS (Mutual TLS), set the trust certificate and client authentication. Setting the trust certificate is required if using self-signed or custom generated certificates so that the server will trust the client's certificate signing authority.
  +
  +.Client Authentication
  +[source,java,role="primary"]
  +----
  +{
  +  SslOptions ssl = SslOptions.pkcs12("path/to/server.p12", "password")
  +    .setTrustCert("path/to/trustCert") <1>
  +    .setTrustPassword("password") <2>
  +    .setClientAuth(SslOptions.ClientAuth.REQUIRED); <3>
  +  setServerOptions(new ServerOptions()
  +      .setSsl(ssl)                                                      
  +  );
  +}
  +----
  +
  +.Kotlin
  +[source,kotlin,role="secondary"]
  +----
  +{
  +  serverOptions {
  +    ssl = SslOptions.pkcs12("path/to/server.p12", "password")
  +      .trustCert("path/to/trustCert) <1>
  +      .trustPassword("password) <2>
  +      .clientAuth(SslOptions.ClientAuth.REQUIRED) <3>
  +  }
  +}
  +----
  +
  +<1> Set the trust certificate path
  +<2> Set the trust certificate password
  +<3> Set the client authentication mode. Possible values are REQUIRED, REQUESTED, or NONE. Default is NONE.
  +
  +Optionally you can define these SSL options in your application configuration file:
  +
  +.Ssl options:
  +[source,json]
  +----
  +server {
  +  ssl {
  +    type: PKCS12,
  +    cert: "path/to/server.p12",
  +    password: "password",
  +    trust {
  +      cert: "path/to/trustCert",
  +      password: "password"
  +    }
  +    clientAuth: REQUIRED
  +  }
  +}
  +----
  +
  +.Mutual TLS from configuration
  +[source,java,role="primary"]
  +----
  +{
  +  setServerOptions(new ServerOptions()
  +      .setSsl(SslOptions.from(getConfig()))
  +  );
  +}
  +----
  +
  +.Kotlin
  +[source,kotlin,role="secondary"]
  +----
  +{
  +  serverOptions {
  +    ssl = SslOptions.from(config).get()
     }
   }
   ----
  
positive.code: [source, properties]
  ----
  server.bufferSize = 16384
  server.port = 8080
  server.ioThreads = 16
  server.workerThreads = 64
  
negative.code: {
    setServerOptions(new ServerOptions()
        .setBufferSize(16384)
        .setCompressionLevel(6)
        .setPort(8080)
        .setIoThreads(16)
        .setWorkerThreads(64)
  