root_plan9.mx raw

   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  //go:build plan9
   6  
   7  package x509
   8  
   9  import (
  10  	"os"
  11  )
  12  
  13  // Possible certificate files; stop after finding one.
  14  var certFiles = [][]byte{
  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  }
  40