aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/hashicorp/go-rootcerts/rootcerts_darwin.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/hashicorp/go-rootcerts/rootcerts_darwin.go')
-rw-r--r--vendor/github.com/hashicorp/go-rootcerts/rootcerts_darwin.go48
1 files changed, 0 insertions, 48 deletions
diff --git a/vendor/github.com/hashicorp/go-rootcerts/rootcerts_darwin.go b/vendor/github.com/hashicorp/go-rootcerts/rootcerts_darwin.go
deleted file mode 100644
index a9a0406..0000000
--- a/vendor/github.com/hashicorp/go-rootcerts/rootcerts_darwin.go
+++ /dev/null
@@ -1,48 +0,0 @@
-package rootcerts
-
-import (
- "crypto/x509"
- "os/exec"
- "path"
-
- "github.com/mitchellh/go-homedir"
-)
-
-// LoadSystemCAs has special behavior on Darwin systems to work around
-func LoadSystemCAs() (*x509.CertPool, error) {
- pool := x509.NewCertPool()
-
- for _, keychain := range certKeychains() {
- err := addCertsFromKeychain(pool, keychain)
- if err != nil {
- return nil, err
- }
- }
-
- return pool, nil
-}
-
-func addCertsFromKeychain(pool *x509.CertPool, keychain string) error {
- cmd := exec.Command("/usr/bin/security", "find-certificate", "-a", "-p", keychain)
- data, err := cmd.Output()
- if err != nil {
- return err
- }
-
- pool.AppendCertsFromPEM(data)
-
- return nil
-}
-
-func certKeychains() []string {
- keychains := []string{
- "/System/Library/Keychains/SystemRootCertificates.keychain",
- "/Library/Keychains/System.keychain",
- }
- home, err := homedir.Dir()
- if err == nil {
- loginKeychain := path.Join(home, "Library", "Keychains", "login.keychain")
- keychains = append(keychains, loginKeychain)
- }
- return keychains
-}