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

时间:2014-03-14 13:55:55

标签: https go rsa

我无法使用https包访问net/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)
  }
}

该程序产生错误

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

net/http的{​​{3}}明确说明,

  

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

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

crypto/rsa的{​​{3}}只能说明错误:

// 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,但似乎没有关闭此错误。< / p>

1 个答案:

答案 0 :(得分:1)

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

鉴于测试在我的ubuntu 12.04盒子上运行正常,而且是1.2,

  1. 您使用的是旧版本的
  2. 您的系统已过期根证书
  3. 如果要更新根证书,here是Windows的提示。谷歌搜索应该为其他操作系统找到更多的想法。