【问题标题】:getting "OpenSSL read server certificate B: certificate verify failed" error, but ONLY for Twitter收到“OpenSSL 读取服务器证书 B:证书验证失败”错误,但仅适用于 Twitter
【发布时间】:2011-08-21 05:35:43
【问题描述】:

我有一个 rails 网站 (reccr.com),它使用omniauth 通过多种不同的选项对用户进行身份验证,包括 Facebook 和 Twitter(使用 OAuth)以及其他一些(使用 OpenID)。然而,最近(我认为是在上周左右)尝试通过 Twitter 进行身份验证会引发

OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed)

错误,但只有 Twitter 会这样做;所有其他服务都可以很好地进行身份验证。我一直在互联网上寻找解决方案,但我在该错误上找到的所有内容都解决了所有身份验证提供商都发生的情况,而我找不到任何内容适用于仅发生在一个特定提供商的情况。

据我所知(而且我是唯一的开发者),该网站没有发生任何改变,我认为任何会导致 Twitter 出现此问题的网站更改也会导致Facebook OAuth 身份验证存在同样的问题。

关于如何解决此问题的任何想法?我最初希望问题出在 Twitter 上,并且他们会在几天内解决它,但已经过去了大约一个星期,它仍在进行中,而且我还没有看到任何其他 Twitter 特定的关于此错误的投诉所以我开始怀疑毕竟是我。

编辑:好的,在发现 THISTHIS 之后,我已经成功了。我正在尝试实施解决方案,在其中将:client_options => {:ca_file => '#{Rails.root}/config/ca-bundle.crt'} 添加到omniauth.rb 的行尾,我在其中声明Twitter 作为我的提供者之一。但是,当我这样做时,我在 lib/rack/builder.rb:54:ininitialize'` 处收到 wrong number of arguments (4 for 3) 错误。任何想法如何解决那个

【问题讨论】:

  • 您从哪里获得证书?编辑:我的错,你实际上是通过 SSL 连接的吗?什么时候在回调中抛出这个错误?
  • 我不确定。我正在使用 OmniAuth 进行身份验证,所以很多都是为我处理的;我应该去哪里看?
  • 暂时忽略这个,看看我的回答,看看能不能解决你的问题。
  • 看起来我遇到的最后一个问题与这个类似:stackoverflow.com/questions/6044667/…

标签: ruby-on-rails twitter openssl omniauth


【解决方案1】:

通常这个错误意味着 Ruby 无法在本地机器上找到一组证书来验证服务器提供的证书,看看这篇博文是否可以帮助你。 http://martinottenwaelter.fr/2010/12/ruby19-and-the-ssl-error/

【讨论】:

  • 嗯,这里只有两个选项。您的 ca-bundle 出现问题并阻止身份验证,或者 Twitter 使用了无效的证书。我的钱在你的 ca-bundle 上,也许检查一下他们是否使用了你的 bundle 中未包含的 CA。
【解决方案2】:

好吧,原来是一堆东西。

Twitter 已更改其 SSL 证书,如 HERE 所述。 (昨晚我无法阅读,因为 dev.twitter.com 已关闭!)

Omniauth 使用 oauth,它有一个错误,迫使它使用特定的 CA 文件而不是更通用的 CA 路径,详细信息 HERE

其中一个解决方案是在omniauth 中初始化您的提供程序时指定正确的CA 文件,但是当我尝试这样做时,我不断收到“参数数量错误”的错误。经过一系列以我完全卸载和重新安装 rails 告终的事故之后,它不再给我那个错误,所以我能够为omniauth 添加该规范,现在它可以再次向 Twitter 进行身份验证!万岁!

不幸的是,在所有这一切的某个地方,它无法向 Facebook 进行身份验证,但我确信我能弄清楚为什么会发生这种情况。

【讨论】:

    猜你喜欢
    • 2014-05-01
    • 2012-09-26
    • 2017-08-06
    • 1970-01-01
    • 1970-01-01
    • 2015-10-19
    • 2011-05-18
    • 2011-05-30
    相关资源
    最近更新 更多