github.com/geraldss/go/src@v0.0.0-20210511222824-ac7d0ebfc235/crypto/x509/root_plan9.go (about) 1 // Copyright 2012 The Go Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 5 // +build plan9 6 7 package x509 8 9 import ( 10 "os" 11 ) 12 13 // Possible certificate files; stop after finding one. 14 var certFiles = []string{ 15 "/sys/lib/tls/ca.pem", 16 } 17 18 func (c *Certificate) systemVerify(opts *VerifyOptions) (chains [][]*Certificate, err error) { 19 return nil, nil 20 } 21 22 func loadSystemRoots() (*CertPool, error) { 23 roots := NewCertPool() 24 var bestErr error 25 for _, file := range certFiles { 26 data, err := os.ReadFile(file) 27 if err == nil { 28 roots.AppendCertsFromPEM(data) 29 return roots, nil 30 } 31 if bestErr == nil || (os.IsNotExist(bestErr) && !os.IsNotExist(err)) { 32 bestErr = err 33 } 34 } 35 if bestErr == nil { 36 return roots, nil 37 } 38 return nil, bestErr 39 }