首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在关闭SSL证书验证后,如何在Ruby中打开它?如果我把它关掉会发生什么?

在关闭SSL证书验证后,如何在Ruby中打开它?如果我把它关掉会发生什么?
EN

Stack Overflow用户
提问于 2016-10-11 16:59:37
回答 2查看 113关注 0票数 0

我正在运行Ruby2.2.5和RubyGems 2.2.3

我对编程很陌生,我一直在学习RubyGems以及如何更新它们。每当我试图从Rubygems服务器执行任何操作时,我都会得到以下错误:

代码语言:javascript
复制
    ERROR:  Could not find a valid gem 'rspec' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/latest_specs.4.8.gz)

我注意到很多人都有这个问题,并通过使用SSL验证来解决这个问题。

代码语言:javascript
复制
    require 'openssl'
    OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

这个解决办法有多危险,我怎么才能把它打开呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-10-11 18:00:58

从乔什的回答中,我已经试过使用以下说明:https://gist.github.com/luislavena/f064211759ee0f806c88

但是他们提供的新信任证书的链接已经中断。但是,Josh的第一个链接使我在Windows上查找Ruby的证书更新,最后我找到了这个链接

How to solve "certificate verify failed" on Windows?

这个解决了我的问题。谢谢各位

编辑:唯一的区别是因为我没有在rails上安装ruby,所以我在c:\ruby22\cacert.pem下保存了新的证书。

此外,我以前运行rubygems 2.4,但按照https://gist.github.com/luislavena/f064211759ee0f806c88上的说明将其降级为2.2.3

我想知道新的证书是否适用于2.4版本的rubygems。

票数 0
EN

Stack Overflow用户

发布于 2016-10-11 17:15:02

使用SSL的目的是,您知道代码来自可信的源,并且没有人试图攻击您的连接并发送恶意代码。虽然不太可能有人试图对你这样做,但为什么要冒这个险呢?

有许多方法可以更新您的证书以使rubygems正常工作。google的快速搜索为我提供了以下两个链接:

对于一些正在开发中的东西,我会说关闭SSL进行测试是可以的,但是对于rubygems来说,您实际上是在下载要在您的计算机上运行的代码,这样做会让我感到不舒服,特别是当它不太难修复的时候。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39982694

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档