func ClientRootCAFiles(files ...string) ClientParam {
	return ClientRootCAs(CertPoolFromCAFiles(files...))
}
ClientRootCAFiles configures the client with the CA certificates used to verify the certificates provided by servers.
If this parameter is not provided, then the default system CAs are used.
package tlsconfig
import (
	"crypto/tls"
	"fmt"
)
type TLSCertProvider func() (tls.Certificate, error)
func NewClientConfig(params ...ClientParam) (*tls.Config, error) {
	configurers := make([]configurer, len(params))
	for i, p := range params {
		configurers[i] = configurer(p.configureClient)
	}
	return configureTLSConfig(configurers...)
}
type ClientParam interface {
	configureClient(*tls.Config) error
}
type clientParam func(*tls.Config) error
func (p clientParam) configureClient(cfg *tls.Config) error {
	return p(cfg)
}
func ClientKeyPairFiles(certFile, keyFile string) ClientParam {
	return clientParam(certificatesParam(TLSCertFromFiles(certFile, keyFile)))
}
func ClientKeyPair(certProvider TLSCertProvider) ClientParam {
	return clientParam(getClientCertificateParam(certProvider))
}