2016-11-22 19:32:10 +00:00
|
|
|
// +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" {
|
2017-06-06 07:19:04 +00:00
|
|
|
logrus.Infof("Unable to use system certificate pool: %v", err)
|
2016-11-22 19:32:10 +00:00
|
|
|
return x509.NewCertPool(), nil
|
|
|
|
}
|
|
|
|
return certpool, err
|
|
|
|
}
|