我正在try 使用signet for OAuth来谷歌服务.得到这个错误:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

以下问题:

似乎解决方案要么是修复ca_path,要么是为SSL设置VERIFY_NONE.

发布的ca_path个补丁只适用于Linux(端口安装),而VERIFY_NONE的补丁似乎适用于法拉第.

Windows/signet gem有解决方案吗?

推荐答案

实际上,我在windows for Ruby中找到的解决这个问题的最好方法,而不仅仅是一个gem,是执行以下操作:

  1. https://curl.haxx.se/ca/cacert.pem下载到c:\railsinstaller\cacert.佩姆.确保将其保存为一个.pem文件,而不是文本文件.
  2. Go to your Computer -> Advanced Settings -> Environment Variables
  3. 创建一个新的系统变量:

    变量:SSL_证书_文件

  4. 关闭所有命令提示,包括Rails服务器命令提示等.

  5. 启动一个新的ruby irb提示符,然后try 以下操作:

    $irb>require 'open-uri'
    $irb>open('https://www.gmail.com')
    

现在一切都应该正常了.

Ruby-on-rails相关问答推荐

为什么这个rails Collection_select不呈现关联属性?

是否可以使用 Turbo 帧更新 Rails 表单输入字段值?

params.permit ruby​​3.2.1 更新后 Active::Record 的未定义方法=~

ArgumentError 用于 Ruby on Rails 中非常简单的初始化方法,没有参数

rake assets:precompile try 连接到数据库

Rails 3 中的动态错误页面

如何在 RoR 中实现成就系统

如何解决弃用警告方法 to_hash 已弃用并将在 Rails 5.1 中删除

使用 oauth 和 twitter ruby​​ gem 时不断收到 OAuth::Unauthorized 错误

使用 AJAX 向 Rails 发送 Authenticity Token 的正确方法

我应该将全局共享部分模板放在哪个文件夹中?

是否可以使用 Rails 迁移重命名索引?

从 ActiveRecord 对象中提取两个属性的快捷方式?

设计/Rails - 如何删除特定的 Flash 消息? (登录成功)

我是否必须手动卸载所有依赖的 gem?

如何更改 Rails 3 控制器中视图文件的默认路径?

Rails: Sprockets::Rails::Helper::AssetNotPrecompiled 在开发中

如何为 Rails 迁移定义布尔字段

何时在 Ruby on Rails 中使用 lambda?

警告:运行 ruby​​ 或 gem 命令时不安全的世界可写目录