Сертификат истек(http.DefaultClientDo)
Всем привет
Мне нужно отправить https запрос через втроенные в go инструменты.
Я делаю
func Requester(url, method, token, login string) []byte {
defer tools.Panic_recover("requester")
url = strings.TrimSpace(fmt.Sprintf("\n%s\n", url))
req, err := http.NewRequest(method, url, nil)
req.Header.Add("Login", login)
req.Header.Add("Token", token)
tools.Errors("httpnewrequest(from requester)", err)
resp, err := http.DefaultClient.Do(req) //подозреваю что проблема с дефолтным клиентом http
tools.Errors("defclido(from requester", err) //здесь `certificate has expired or is not yet valid: current time 2022-04-26T18:04:55+03:00 is after 2014-12-19T10:21:01Z`
ans, err := ioutil.ReadAll(resp.Body)
tools.Errors("ioutilreadll from requester", err)
return ans
}
В комменте написал свои догадки. Пытаюсь исправить так
func Clientt() *http.Client {
return &http.Client{
Transport: &http.Transport{
DialTLS: //здесь не знаю что писать чтобы подключить сюда сертификат,
},
}
}
Результат это функции я хочу использовать вмето defaultclient-а
У меня есть сертификат wildcard для домена и поддоменов.
Requester я делаю с домена на поддомен, серт получается один и тот же подойдет. Но DefaultClienDo пишет certificate has expired or is not yet valid: current time 2022-04-26T18:04:55+03:00 is after 2014-12-19T10:21:01Z. Думаю проблема в настроках дефолтного клиента. Как прописать сертификат свой?
Ответы (1 шт):
Автор решения: Quester
→ Ссылка
Сори, нашел ответ сам
func Client() *http.Client {
return &http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{
InsecureSkipVerify: true, //нужно отключить проверку сертификата
},
},
}
}