假设我想通过编程获得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
现在,我自己想要信任这个证书(设想一个自颁发的证书,我可以在其中验证 fingerprint 等):我如何发出请求并验证/信任该证书?
我可能需要使用OpenSSL下载证书,将其加载到我的文件中并填充tls.Config
个 struct !?