diff --git a/glauth/pkg/command/server.go b/glauth/pkg/command/server.go index 547906779..f59a54b4b 100644 --- a/glauth/pkg/command/server.go +++ b/glauth/pkg/command/server.go @@ -188,7 +188,6 @@ func Server(cfg *config.Config) *cli.Command { } if lscfg.Enabled { - // GenCert has side effects as it writes 2 files to the binary running location if err := crypto.GenCert(cfg.Ldaps.Cert, cfg.Ldaps.Key, logger); err != nil { logger.Fatal().Err(err).Msgf("Could not generate test-certificate") } diff --git a/glauth/pkg/crypto/gencert.go b/glauth/pkg/crypto/gencert.go index deda29910..6182346b3 100644 --- a/glauth/pkg/crypto/gencert.go +++ b/glauth/pkg/crypto/gencert.go @@ -47,6 +47,14 @@ func GenCert(certName string, keyName string, l log.Logger) error { var priv interface{} var err error + _, certErr := os.Stat(certName) + _, keyErr := os.Stat(keyName) + + if certErr == nil && keyErr == nil { + l.Debug().Msg("LDAPS certificate and key already present, using these") + return nil + } + priv, err = rsa.GenerateKey(rand.Reader, 2048) if err != nil { @@ -94,9 +102,6 @@ func GenCert(certName string, keyName string, l log.Logger) error { } certPath := filepath.Dir(certName) - l.Error().Msg("certPath: " + certPath) - l.Error().Msg("certName: " + certName) - if _, err := os.Stat(certPath); os.IsNotExist(err) { err = os.MkdirAll(certPath, 0700) if err != nil {