1
0
mirror of https://github.com/amir20/dozzle.git synced 2026-01-01 18:47:25 +01:00
Files
dozzle/internal/support/cli/certs.go
2024-08-13 11:48:56 -07:00

34 lines
760 B
Go

package cli
import (
"crypto/tls"
"embed"
"os"
log "github.com/sirupsen/logrus"
)
func ReadCertificates(certs embed.FS) (tls.Certificate, error) {
if pair, err := tls.LoadX509KeyPair("dozzle_cert.pem", "dozzle_key.pem"); err == nil {
log.Infof("Found dozzle certificate and key at ./dozzle_cert.pem and ./dozzle_key.pem")
return pair, nil
} else {
if !os.IsNotExist(err) {
log.Errorf("Failed to load dozzle certificate and key: %v", err)
log.Warnf("Falling back to shared certificate and key")
}
}
cert, err := certs.ReadFile("shared_cert.pem")
if err != nil {
return tls.Certificate{}, err
}
key, err := certs.ReadFile("shared_key.pem")
if err != nil {
return tls.Certificate{}, err
}
return tls.X509KeyPair(cert, key)
}