certutils/certutils_pre_go18.go
func NewTLSServer(config TLSServerConfig) *http.Server {
	// Setup our TLS config
	tlsConfig := NewTLSConfig(config.TLSConfigLevel)

	// By default this server will require client MTLS certs and verify cert validity against the config.CertPool CA bundle
	tlsConfig.ClientAuth = tls.RequireAndVerifyClientCert
	tlsConfig.ClientCAs = config.CertPool

	// Setup client authentication
	server := &http.Server{
		ReadTimeout:  5 * time.Second,
		WriteTimeout: 10 * time.Second,
		TLSConfig:    tlsConfig,
		Addr:         fmt.Sprintf("%s:%d", config.BindAddress, config.Port),
		Handler:      config.Router,
	}
	server.TLSConfig.BuildNameToCertificate()
	return server
}
func NewTLSServer(config TLSServerConfig) *http.Server {
	// Setup our TLS config
	tlsConfig := NewTLSConfig(config.TLSConfigLevel)

	// By default this server will require client MTLS certs and verify cert validity against the config.CertPool CA bundle
	tlsConfig.ClientAuth = tls.RequireAndVerifyClientCert
	tlsConfig.ClientCAs = config.CertPool

	// Setup client authentication
	server := &http.Server{
		ReadTimeout:  5 * time.Second,
		WriteTimeout: 10 * time.Second,
		TLSConfig:    tlsConfig,
		Addr:         fmt.Sprintf("%s:%d", config.BindAddress, config.Port),
		Handler:      config.Router,
	}
	server.TLSConfig.BuildNameToCertificate()
	return server
}
// NewTLSServer sets up a Pantheon(TM) type of tls server that Requires and Verifies peer cert