22 lines
486 B
Go
22 lines
486 B
Go
|
// +build go1.7
|
||
|
|
||
|
package tlsconfig
|
||
|
|
||
|
import (
|
||
|
"crypto/x509"
|
||
|
"runtime"
|
||
|
|
||
|
"github.com/Sirupsen/logrus"
|
||
|
)
|
||
|
|
||
|
// SystemCertPool returns a copy of the system cert pool,
|
||
|
// returns an error if failed to load or empty pool on windows.
|
||
|
func SystemCertPool() (*x509.CertPool, error) {
|
||
|
certpool, err := x509.SystemCertPool()
|
||
|
if err != nil && runtime.GOOS == "windows" {
|
||
|
logrus.Warnf("Unable to use system certificate pool: %v", err)
|
||
|
return x509.NewCertPool(), nil
|
||
|
}
|
||
|
return certpool, err
|
||
|
}
|