@Override
    public SslContextBuilder createBuilderForServer() {
        try {
            List<X509Certificate> trustedCerts = getTrustedX509Certificates();
            SslProvider sslProvider = chooseSslProvider();

            LOG.debug("Using SslProvider of type {}", sslProvider.name());

            SslContextBuilder builder = newBuilderForServer()
                    .ciphers(getCiphers(), getCiphersFilter())
                    .sessionTimeout(serverSslConfig.getSessionTimeout())
                    .sslProvider(sslProvider);

            if (serverSslConfig.getClientAuth() != null && trustedCerts != null && !trustedCerts.isEmpty()) {
                builder = builder.trustManager(trustedCerts.toArray(new X509Certificate[0]))
                        .clientAuth(serverSslConfig.getClientAuth());
            }

            return builder;
        } catch (Exception e) {
            throw new RuntimeException("Error configuring SslContext!", e);
        }
    }
User: michaels@netflix.com
Date: 3/4/16
Time: 4:00 PM
zuul-core/src/main/java/com/netflix/zuul/netty/ssl/BaseSslContextFactory.java