private void applyTlsClientAuth(
      final TlsClientAuthConfiguration clientAuthConfiguration,
      final HttpServerOptions httpServerOptions) {
    httpServerOptions.setClientAuth(ClientAuth.REQUIRED);
    clientAuthConfiguration
        .getKnownClientsFile()
        .ifPresent(
            knownClientsFile ->
                httpServerOptions.setTrustOptions(
                    allowlistClients(
                        knownClientsFile, clientAuthConfiguration.isCaClientsEnabled())));
    clientAuthConfiguration
        .getTruststorePath()
        .ifPresent(
            truststorePath ->
                httpServerOptions.setTrustOptions(
                    new PfxOptions()
                        .setPath(truststorePath.toString())
                        .setPassword(clientAuthConfiguration.getTrustStorePassword())));
  }
Construct a JsonRpcHttpService handler

@param vertx The vertx process that will be running this service
@param dataDir The data directory where requests can be buffered
@param config Configuration for the rpc methods being loaded
@param metricsSystem The metrics service that activities should be reported to
@param natService The NAT environment manager.
@param methods The json rpc methods that should be enabled
@param livenessService A service responsible for reporting whether this node is live
@param readinessService A service responsible for reporting whether this node has fully started
ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/JsonRpcHttpService.java