private static SslContext getServerSslContext(SSLConfig config) throws GeneralSecurityException, IOException {
    logger.info("Using {} provider for server SslContext", SslContext.defaultServerProvider());
    return SslContextBuilder.forServer(getKeyManagerFactory(config))
        .trustManager(getTrustManagerFactory(config))
        .ciphers(getCipherSuites(config))
        .protocols(getEnabledProtocols(config))
        .clientAuth(getClientAuth(config))
        .build();
  }
@param config the {@link SSLConfig}
@return a configured {@link SslContext} object for a client.
@throws GeneralSecurityException
@throws IOException
ambry-commons/src/main/java/com/github/ambry/commons/NettySslFactory.java