golang:HTTPS请求产生"crypto/rsa:验证错误"

Art*_*pek 7 https rsa go

我无法使用httpsnet/http软件包访问网址.

这是一个错误的工作示例:

package main

import (
  "fmt"
  "net/http"
)

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

该程序产生错误,

Get https://api.bitfinex.com/v1/book/ltcbtc: crypto/rsa: verification error
Run Code Online (Sandbox Code Playgroud)

文档net/http明确规定,

Get,Head,Post和PostForm发出HTTP(或HTTPS)请求

但我找不到有关此错误的任何文档.

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")
Run Code Online (Sandbox Code Playgroud)

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

我也试着使用Clienttls.ConfigInsecureSkipVerify设定true,但似乎并没有关闭这个错误了.

Nic*_*ood 1

Go在linuxwindows下使用系统根SSL证书。

鉴于测试在我的 ubuntu 12.04 机器和 go 1.2 上运行良好,或者

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

如果您想更新根证书,这里有针对 Windows 的提示。谷歌搜索应该可以找到更多关于其他操作系统的想法。