From 940a6ccbd548cf0562bf776a341a487a0bc99927 Mon Sep 17 00:00:00 2001 From: Daniil Dulin Date: Tue, 18 Jun 2024 13:13:08 +0300 Subject: [PATCH] feat (kafka): update newTLSConfig --- kafka/kafka.go | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) 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 }