"crypto/tls"
"crypto/x509"
"io/ioutil"
- "log"
)
var tlsConfig *tls.Config
// GetTLSConfig initializes a tlsConfig using the CA's certificate
// This config is then used to enable the server for mutual TLS
-func GetTLSConfig(caCertFile string) *tls.Config {
+func GetTLSConfig(caCertFile string) (*tls.Config, error) {
// Initialize tlsConfig once
if tlsConfig == nil {
caCert, err := ioutil.ReadFile(caCertFile)
if err != nil {
- log.Fatal("Error reading CA Certificate")
- log.Fatal(err)
+ return nil, err
}
caCertPool := x509.NewCertPool()
}
tlsConfig.BuildNameToCertificate()
}
- return tlsConfig
+ return tlsConfig, nil
}