问题描述
我必须连接https url,并且提供了.crt,.key和.csr文件。我正在尝试使用代码:
caCert,err := IoUtil.ReadFile("file1.crt")
if err != nil {
fmt.Println("error in read crt")
fmt.Println(err)
}
caCertPool := x509.NewCertPool()
caCertPool.AppendCertsFromPEM(caCert)
cer,err := tls.LoadX509KeyPair("file1.crt","file2.key")
if err != nil {
fmt.Println("cert load error")
fmt.Println(err.Error())
}
proxyUrl,_ := url.Parse("http://xxx.xxx.xxx.xx:yy")
client := &http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{
ServerName: "abc.com",RootCAs: caCertPool,Certificates: []tls.Certificate{cer},},Proxy: http.ProxyURL(proxyUrl),}}
req,err := http.NewRequest("POST",url,nil)
if err != nil {
fmt.Println(err)
}
req.Header.Set("id",id)
resp,err := client.Do(req)
我在代理和公司防火墙后面。当我尝试使用上述代码进行连接时,出现错误:
x509: certificate signed by unkNown authority
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)