使用.crt和.key与https url连接

问题描述

我必须连接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 (将#修改为@)