diff --git a/kafka/kafka.go b/kafka/kafka.go index 5439324..3c049a9 100644 --- a/kafka/kafka.go +++ b/kafka/kafka.go @@ -322,21 +322,33 @@ func newTLSConfig(dir string) (*tls.Config, error) { tlsConfig := &tls.Config{} + _, certFileErr := os.Stat(certFile) + _, keyFileErr := os.Stat(keyFile) + _, caFileErr := os.Stat(caFile) + + if certFileErr != nil && keyFileErr != nil && caFileErr != nil { + return nil, errors.Join(certFileErr, keyFileErr, caFileErr) + } + // Load client cert - cert, err := tls.LoadX509KeyPair(certFile, keyFile) - if err != nil { - return nil, err + if certFileErr == nil && keyFileErr == nil { + cert, err := tls.LoadX509KeyPair(certFile, keyFile) + if err != nil { + return nil, err + } + tlsConfig.Certificates = []tls.Certificate{cert} } - tlsConfig.Certificates = []tls.Certificate{cert} // Load CA cert - caCert, err := os.ReadFile(caFile) - if err != nil { - return nil, err + if caFileErr == nil { + caCert, err := os.ReadFile(caFile) + if err != nil { + return nil, err + } + caCertPool := x509.NewCertPool() + caCertPool.AppendCertsFromPEM(caCert) + tlsConfig.RootCAs = caCertPool } - caCertPool := x509.NewCertPool() - caCertPool.AppendCertsFromPEM(caCert) - tlsConfig.RootCAs = caCertPool return tlsConfig, nil }