首页 > 文章列表 > 老师Golang 从哪里获取根 CA?

老师Golang 从哪里获取根 CA?

golang
347 2023-05-20

问题内容

Golang 从哪里获取根 CA?

正确答案

在Go语言中,可以使用crypto/tls包来获取根证书颁发机构(CA)。crypto/tls包提供了用于构建TLS/SSL连接的功能,并包含了证书验证的相关功能。

要获取根证书颁发机构,你可以使用crypto/tls包中的RootCAs函数。以下是一个示例代码:

package main

import (
	"crypto/tls"
	"fmt"
)

func main() {
	// 创建一个空的根证书池
	rootCAs := x509.NewCertPool()

	// 使用系统的根证书池
	rootCAs, err := x509.SystemCertPool()
	if err != nil {
		fmt.Println("无法获取系统根证书池:", err)
		return
	}

	// 获取根证书
	certs := rootCAs.Subjects()
	for _, cert := range certs {
		fmt.Println(cert)
	}
}