OpenSSL::SSL::SSLError:SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书 B:证书验证失败 - 向外部 API 发送任务 [英] OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed - rake task to external API

查看:92
本文介绍了OpenSSL::SSL::SSLError:SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书 B:证书验证失败 - 向外部 API 发送任务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试构建一个访问 viglink API 的 rake 任务,这是一个 url 附属服务.

I am trying to build a rake task that accesses the API of viglink, a url affiliating service.

但是,当我的 rake 任务运行 open(url) 时,其中 url 是 https uri,我得到的错误是:

However, when my rake task runs open(url), where url is an https uri, the error I get is:

rake aborted!
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

我尝试使用此答案解决此问题,但出现相同错误

I tried to fix this using this answer, but I get the same error

Heroku 上的 OpenSSL::SSL::SSLError

有没有人有类似的问题,但上面没有解决?我正在 Ubuntu 12.04.4 LTS (GNU/Linux 3.8.0-29-generic x86_64) 上的 Digital Ocean Droplet 上运行它

Is anyone having a similar issue that isn't solved with the above ? I'm running this on a Digital Ocean droplet on Ubuntu 12.04.4 LTS (GNU/Linux 3.8.0-29-generic x86_64)

我的佣金任务的相关部分:

relevant part of my rake task:

  url = "https://www.viglink.com/service/v1/cuidRevenue?lastDate=2014%2F12%2F23&period=week&secret=0d0dfillerb57acb4"
  response = open(url)

错误发生在第二行.

节日快乐!

推荐答案

当每个人都开始移除 SSLv3 支持时遇到了同样的问题.您的目标网站也做了同样的事情:

Ran into the same problem when everyone started removing SSLv3 support. Your target site has done the same:

nmap --script ssl-enum-ciphers -p 443 www.viglink.com

Starting Nmap 6.40 ( http://nmap.org ) at 2014-12-25 08:16 EST
Nmap scan report for www.viglink.com (192.155.80.114)
Host is up (0.083s latency).
rDNS record for 192.155.80.114: li566-114.members.linode.com
PORT    STATE SERVICE
443/tcp open  https
| ssl-enum-ciphers:
|   SSLv3: No supported ciphers found
|   TLSv1.0:
|     ciphers:
|       TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA - strong
|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA - strong
|       TLS_RSA_WITH_3DES_EDE_CBC_SHA - strong
|       TLS_RSA_WITH_AES_128_CBC_SHA - strong
|       TLS_RSA_WITH_AES_256_CBC_SHA - strong
|     compressors:
|       NULL
|_  least strength: strong

Nmap done: 1 IP address (1 host up) scanned in 4.47 seconds

解决方案是在您的机器上更新 openssl.

Solution is to update openssl on your machine.

openssl version
OpenSSL 1.0.1f 6 Jan 2014

我的回答没有错误:

require 'open-uri'
url = 'https://www.viglink.com/'
response = open(url)
# => #<Tempfile:/tmp/open-uri20141225-19253-qhcgcg>
puts response.base_uri
# => https://www.viglink.com/

这篇关于OpenSSL::SSL::SSLError:SSL_connect 返回=1 errno=0 state=SSLv3 读取服务器证书 B:证书验证失败 - 向外部 API 发送任务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆