load default CA from ca.pem

This commit is contained in:
ginuerzh
2023-03-21 18:11:06 +08:00
parent fb7b827ea2
commit a39800270b
2 changed files with 13 additions and 20 deletions

View File

@ -16,6 +16,7 @@ import (
"github.com/go-gost/core/logger"
"github.com/go-gost/x/config"
tls_util "github.com/go-gost/x/internal/util/tls"
)
var (
@ -29,10 +30,11 @@ func BuildDefaultTLSConfig(cfg *config.TLSConfig) {
cfg = &config.TLSConfig{
CertFile: "cert.pem",
KeyFile: "key.pem",
CAFile: "ca.pem",
}
}
tlsConfig, err := loadConfig(cfg.CertFile, cfg.KeyFile)
tlsConfig, err := tls_util.LoadConfig(cfg.CertFile, cfg.KeyFile, cfg.CAFile)
if err != nil {
// generate random self-signed certificate.
cert, err := genCertificate(cfg.Validity, cfg.Organization, cfg.CommonName)
@ -49,19 +51,6 @@ func BuildDefaultTLSConfig(cfg *config.TLSConfig) {
defaultTLSConfig = tlsConfig
}
func loadConfig(certFile, keyFile string) (*tls.Config, error) {
cert, err := tls.LoadX509KeyPair(certFile, keyFile)
if err != nil {
return nil, err
}
cfg := &tls.Config{
Certificates: []tls.Certificate{cert},
}
return cfg, nil
}
func genCertificate(validity time.Duration, org string, cn string) (cert tls.Certificate, err error) {
rawCert, rawKey, err := generateKeyPair(validity, org, cn)
if err != nil {