Digamos que quiero llegar https://golang.org
programáticamente. Actualmente golang.org (ssl) tiene un certificado incorrecto que se emite a *.appspot.com
So cuando ejecuto esto:
package main
import (
"log"
"net/http"
)
func main() {
_, err := http.Get("https://golang.org/")
if err != nil {
log.Fatal(err)
}
}
Me sale (como esperaba)
Get https://golang.org/: certificate is valid for *.appspot.com, *.*.appspot.com, appspot.com, not golang.org
Ahora, quiero confiar en este certificado yo mismo (imagine un certificado autoemitido donde pueda validar huella digital, etc.): ¿cómo puedo hacer una solicitud y validar / confiar en el certificado?
¡Probablemente necesito usar openssl para descargar el certificado, cargarlo en mi archivo y completar tls.Config
struct!?