Digamos que eu queira ser https://golang.org
programaticamente. Atualmente, o golang.org (ssl) possui um certificado inválido emitido para o *.appspot.com
So quando executo isso:
package main
import (
"log"
"net/http"
)
func main() {
_, err := http.Get("https://golang.org/")
if err != nil {
log.Fatal(err)
}
}
Eu recebo (como eu esperava)
Get https://golang.org/: certificate is valid for *.appspot.com, *.*.appspot.com, appspot.com, not golang.org
Agora, eu mesmo quero confiar neste certificado (imagine um certificado auto-emitido onde eu possa validar impressões digitais etc.): como posso fazer uma solicitação e validar / confiar no certificado?
Eu provavelmente preciso usar o openssl para baixar o certificado, carregá-lo no meu arquivo e preencher tls.Config
struct!?