github.com/fisco-bcos/crypto@v0.0.0-20200202032121-bd8ab0b5d4f1/x509/root.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  package x509
     6  
     7  import "sync"
     8  
     9  var (
    10  	once           sync.Once
    11  	systemRoots    *CertPool
    12  	systemRootsErr error
    13  )
    14  
    15  func systemRootsPool() *CertPool {
    16  	once.Do(initSystemRoots)
    17  	return systemRoots
    18  }
    19  
    20  func initSystemRoots() {
    21  	systemRoots, systemRootsErr = loadSystemRoots()
    22  	if systemRootsErr != nil {
    23  		systemRoots = nil
    24  	}
    25  }