最佳答案
假设我想以编程方式获取https://golang.org
。目前,golang.org(SSL)有一个颁发给*.appspot.com
的错误证书,因此当我运行以下命令时:
package main
import (
"log"
"net/http"
)
func main() {
_, err := http.Get("https://golang.org/")
if err != nil {
log.Fatal(err)
}
}
我得到了(如我所料)
Get https://golang.org/: certificate is valid for *.appspot.com, *.*.appspot.com, appspot.com, not golang.org
现在,我想自己信任这个证书(想象一个自己颁发的证书,我可以验证指纹等):我如何发出请求并验证/信任该证书?
我可能需要使用OpenSSL下载证书,将其加载到我的文件中,并填写tls.Config
结构!?