找不到有效的宝石'rhc'。 Windows上的SSL_connect服务器证书验证失败,无法连接OpenShift服务器

时间:2016-05-16 11:37:47

标签: ruby rubygems ssl-certificate openshift-client-tools

C:\>gem install rhc
  

错误:找不到有效的宝石'rhc'(> = 0),原因如下:             无法从https://rubygems.org/下载数据 - SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败(https://rubygems.org/latest_specs.4.8.gz

尝试使用以下命令:

gem sources -r https://rubygems.org
gem sources -a http://rubygems.org

但尝试设置rhc时仍然存在相同的错误。

rhc setup

通过跟随these steps rhc gem成功安装,但是当执行“rhc setup”连接到openshift时,这是错误消息而不是连接到openshift服务器

enter image description here

2 个答案:

答案 0 :(得分:3)

问题是您的Windows计算机无法将rubygems服务器证书识别为可信证书,因为Windows的受信任证书库中没有其权限证书。

作为快速修复,您需要删除rubygems源URL的HTTPS版本(不像您那样删除HTTP):

gem sources -r https://rubygems.org

这个快速修复应该使rubygems使用没有涉及证书检查的HTTP版本。

这不应该是明确的解决方案。相反,您应该添加HTTPS源(使用-a选项)并将适用于rubygems服务器证书的CA证书安装到Windows可信CA证书存储中。

有很多网页可以在网上处理这个程序(谷歌this),例如:帖子here包含从curl命令下载并安装所有CA证书到Windows计算机的步骤,可以永久修复问题而不降低安全性。

答案 1 :(得分:0)

问题的原因和解决方法是here

  

以前,此证书由一个证书颁发机构提供,但新证书由另一个证书提供。

     

因此,发布了带有两个证书的RubyGems版本,试图简化更改。

     

然而,在RubyGems运营的规模上,不可能确保每个人都更新软件。还有旧版本的操作系统。因此,有时需要手动干预(如上所述)。

     

问题已在问题#1050

中描述

要解决此问题,请按以下步骤操作:

  1. 下载rubygems-update-2.6.7.gem。下载应保存在您以后可以轻松指向的位置。让我们像C:\ ruby​​gems-update-2.6.7.gem一样使用

  2. 在命令行上,运行以下命令:
    C:\>gem install --local C:\rubygems-update-2.6.7.gem

    C:\>update_rubygems --no-ri --no-rdoc

  3. 运行以下命令卸载rubygems-update:
    C:\>gem uninstall rubygems-update -x

  4. 这应该可以解决问题。