github.com/cloud-foundations/dominator@v0.0.0-20221004181915-6e4fee580046/lib/srpc/setupclient/impl.go (about)

     1  package setupclient
     2  
     3  import (
     4  	"crypto/tls"
     5  
     6  	"github.com/Cloud-Foundations/Dominator/lib/srpc"
     7  )
     8  
     9  func setupTls(ignoreMissingCerts bool) error {
    10  	if *certDirectory == "" {
    11  		return nil
    12  	}
    13  	// Load certificates.
    14  	certs, err := srpc.LoadCertificates(*certDirectory)
    15  	if err != nil {
    16  		return err
    17  	}
    18  	if certs == nil {
    19  		if ignoreMissingCerts {
    20  			return nil
    21  		}
    22  		return srpc.ErrorMissingCertificate
    23  	}
    24  	// Setup client.
    25  	clientConfig := new(tls.Config)
    26  	clientConfig.InsecureSkipVerify = true
    27  	clientConfig.MinVersion = tls.VersionTLS12
    28  	clientConfig.Certificates = certs
    29  	srpc.RegisterClientTlsConfig(clientConfig)
    30  	return nil
    31  }