https - 戈朗 : HTTPS request yields "crypto/rsa: verification error"

标签 https go rsa

我在使用 net/http 包访问 https url 时遇到问题。

这是错误的工作示例:

package main

import (
  "fmt"
  "net/http"
)

func main() {
  _, err := http.Get("https://api.bitfinex.com/v1/book/ltcbtc")
  if err != nil {
    fmt.Println(err)
  }
}

这个程序产生错误,

Get https://api.bitfinex.com/v1/book/ltcbtc: crypto/rsa: verification error

docs对于 net/http 明确说明,

Get, Head, Post, and PostForm make HTTP (or HTTPS) requests

但我找不到关于此错误的任何文档。

source对于 crypto/rsa 只有这个关于错误的说法:

// ErrVerification represents a failure to verify a signature.
// It is deliberately vague to avoid adaptive attacks.
var ErrVerification = errors.New("crypto/rsa: verification error")

所以我不确定从这里去哪里。我很确定这不是他们的错,因为 Chrome 对他们的 https 证书很满意。

我也尝试过将 Clienttls.Config 一起使用,该 InsecureSkipVerify 设置为 true ,但这似乎并没有解决这个错误。

最佳答案

Go 使用linux 下的系统根SSL 证书和 windows .

鉴于测试在我的 ubuntu 12.04 盒子上运行良好,go 1.2,或者

  1. 您使用的是非常旧的 go 版本
  2. 您的系统有过时的根证书

如果您想更新您的根证书,here是Windows的提示。谷歌搜索应该会为您找到更多关于其他操作系统的想法。

关于https - 戈朗 : HTTPS request yields "crypto/rsa: verification error",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22407042/

相关文章:

C# 从 RSA PEM 私钥中提取公钥

javascript - Rsaencrypt 和奇怪的 Javascript 函数(e,t,r,n,c,a,l)

java - 使RSA加密Java程序独立于平台

android - 使用 ksoap2-android 的不可信证书

haskell - 生产中带有 Snap 的 HTTPS

xml - 使用冲突的元素名称在 Go 中解码 XML

go - 覆盖外部包的 cgo 编译器和链接器标志?

ios - AFNetworking 需要绕过 ssl 检查

redirect - IIS/Azure web.config 文件的简单规则将流量重定向到非 www HTTPS

reactjs - 为 React、Angular 等使用 HTTP 服务器