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