设置 Hyperledger 开发环境时的证书问题

Issues with certs when setting up Hyperledger dev environment

我已经从 gerrit 下载了 Hyperledger v1 代码库。我在 windows 8.1 上,它本身不支持 docker,我正在使用 vagrant 来 bootstrap 环境。

当我做vagrant up的时候。下载 docker-compose、Go 等时出现错误

我用使用不安全下载 (curl -k) 的不太理想的解决方案修复了这个问题。 curl -k -L "https://github.com/docker/compose/releases/download/1.11.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

我不喜欢,但至少它允许我继续。但是,现在构建在 make 文件中尝试失败 git 克隆 https://github.com/golang/lint

这是我得到的错误-

==> default: fatal: unable to access 'https://github.com/golang/lint/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
==> default: package github.com/golang/lint/golint: exit status 128
==> default: Makefile:47: recipe for target 'gotool.golint' failed

我明白这是因为我的 ubuntu 安装中没有正确的证书,但我如何获得它们并在此处安装它们。我是菜鸟

我想完成我的安装,最好在 curl 中不使用 -k 执行 setup.sh 步骤。

额外信息: 我在我的 vagrant 文件中添加了 config.vm.box_download_insecure = true 。没有它就无法下载。 请帮忙。

因为我没有得到答案,所以我能够解决问题。我会 post 一个 post 的解决方案。 如您所知,我无法卷曲到 github。我无法让 'go get' 使用 GitHub URL。这一切都因同样的错误而失败。

然而,我天真地在网上搜索解决方案。我什至生成了 ssh 密钥并将它们上传到 github。由于 ssh 密钥,我能够验证 GitHub 知道我的身份,但我仍然无法下载开源代码。

整个问题是我的 ubuntu xenial 机器不信任 github.com。这实际上意味着 github 的根证书不在我的根证书列表中。

在 ssh 域中徘徊之后,我决定修复证书。 我的第一个解决方案是重新下载所有证书。 Github 很受欢迎,它应该在预捆绑的 CA 列表中有它的 CA 是我的推理。 - 没用。

其次 - 从 github.com 下载证书并将其添加到我的机器。我忘记了它不是 ROOT CA 的最基本的 - 没有用。

最后,我下载了 ROOT CA,证书将其添加到我的 ubuntu 证书列表中,瞧。

步骤:

  1. 使用浏览器下载 Github ROOT CA(证书颁发机构)证书。我用了Chrome。 设置>显示高级设置>管理证书>受信任的根证书颁发机构>caadmin
  2. 我们将其命名为 github.cer{base-64 encoded},并将其放入您的 /vagrant 文件夹(您的主机和虚拟机之间共享的文件夹)
  3. cp github.com /etc/ssl/certs/
  4. 运行 c_rehash
  5. 运行 sudo update-ca-certificates

完成后。注销 Ubuntu (Ctrl+D),停止 vagrant 并通过配置和 Voila 再次启动 vagrant ....