当前位置: 首页 > 知识库问答 >
问题:

x509证书由未知授权机构签署

燕和裕
2023-03-14

我试图从Web请求数据的一些基本示例,但是所有对不同主机的请求都会导致SSL错误:x509:由未知权威签署的证书。注意:我不支持代理,也没有发生任何形式的证书拦截,因为使用curl或浏览器没有问题。

我目前使用的代码示例是:

package main

import (
    "fmt"
    "net/http"
    "io/ioutil"
    "os"
    )

func main() {
    response, err := http.Get("https://google.com")
    if err != nil {
        fmt.Printf("%s\n", err)
        os.Exit(1)
    } else {
        defer response.Body.Close()
        contents, err := ioutil.ReadAll(response.Body)
        if err != nil {
            fmt.Printf("%s", err)
            os.Exit(1)
        }
        fmt.Printf("%s\n", string(contents))
    }
}

编辑:代码运行在Arch linux内核4.9.37-1-lts上。

编辑2:显然/etc/ssl/certs/ca-certificates.crt在我的系统上的版本之间有差异,通过(重新)移动证书并重新手动安装ca-证书-utils包,问题得到了解决。

共有1个答案

夏侯鹏
2023-03-14

基于你的错误,我假设你在使用Linux?

您可能必须在运行程序的计算机上安装ca证书。

在Ubuntu上,您可以执行如下操作:

sudo apt-get install ca-certificates
 类似资料:
  • 我正在配置一个Kubernetes集群,在CoreOS中有2个节点,如中所述https://coreos.com/kubernetes/docs/latest/getting-started.html没有法兰绒。两台服务器都在同一个网络中。 但在worker中运行kubelet时,我得到了:x509:未知授权机构签署的证书(可能是因为尝试验证候选授权机构证书“kube ca”时出现了“crypto

  • 我正在使用Golang 1.9创建一个客户端应用程序。2,我在访问后端时遇到一些问题。问题是我的应用程序在最新版本的Windows和Linux中运行良好,但是,当我在Windows XP上运行它时(是的,不幸的是,我必须支持Windows XP,因为我们的一些客户拒绝升级他们的操作系统),我在尝试执行HTTP get和HTTP POST:

  • 在我的Go应用程序中,我打电话到 这取决于环境,在本地将在http上,而在生产环境中,它将在 当我使用postman在https上测试生产路由时,没有问题,路由工作正常。 但是当我从WS运行它时,我得到: 这是我的代码: 我能做些什么来解决这个问题?

  • 问题内容: 在运行docker命令时,我不断收到这样的错误: 我正在使用没有任何http代理的Fedora 20 x86_64。 我用google搜索,但找不到任何线索,也不知道如何解决此错误,有人可以给我一些解决此问题的提示吗? 以下是一些其他信息可能会有所帮助: 问题答案: 事实证明,这与CDN提供程序有关。 在这里检查:https : //github.com/dotcloud/docker

  • 我正在使用Go包来查询pzug。应用程序的容器化如下: 但是,我得到以下错误: 我已经尝试过这里建议的x509证书,该证书由未知的权威机构签署,但运气不佳。有什么想法吗?

  • 我很困惑,不知道会有什么错? 非常感谢任何帮助。谢谢大家...