Скажем, я хочу получить 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
структуру !?