diff --git a/transport/internet/tls/config.go b/transport/internet/tls/config.go index 340361ef..084eed86 100644 --- a/transport/internet/tls/config.go +++ b/transport/internet/tls/config.go @@ -3,7 +3,6 @@ package tls import ( "context" "crypto/tls" - "crypto/x509" "time" "v2ray.com/core/common/net" @@ -24,22 +23,6 @@ func ParseCertificate(c *cert.Certificate) *Certificate { } } -func (c *Config) GetCertPool() *x509.CertPool { - pool, err := x509.SystemCertPool() - if err != nil { - newError("failed to get system cert pool.").Base(err).WriteToLog() - return nil - } - if pool != nil { - for _, cert := range c.Certificate { - if cert.Usage == Certificate_AUTHORITY_VERIFY { - pool.AppendCertsFromPEM(cert.Certificate) - } - } - } - return pool -} - func (c *Config) BuildCertificates() []tls.Certificate { certs := make([]tls.Certificate, 0, len(c.Certificate)) for _, entry := range c.Certificate { diff --git a/transport/internet/tls/config_other.go b/transport/internet/tls/config_other.go new file mode 100644 index 00000000..f667e8b9 --- /dev/null +++ b/transport/internet/tls/config_other.go @@ -0,0 +1,21 @@ +// +build !windows + +package tls + +import "crypto/x509" + +func (c *Config) GetCertPool() *x509.CertPool { + pool, err := x509.SystemCertPool() + if err != nil { + newError("failed to get system cert pool.").Base(err).WriteToLog() + return nil + } + if pool != nil { + for _, cert := range c.Certificate { + if cert.Usage == Certificate_AUTHORITY_VERIFY { + pool.AppendCertsFromPEM(cert.Certificate) + } + } + } + return pool +} diff --git a/transport/internet/tls/config_windows.go b/transport/internet/tls/config_windows.go new file mode 100644 index 00000000..173982e3 --- /dev/null +++ b/transport/internet/tls/config_windows.go @@ -0,0 +1,9 @@ +// +build windows + +package tls + +import "crypto/x509" + +func (c *Config) GetCertPool() *x509.CertPool { + return nil +}