如何解决"证书验证失败(Twitter ::错误)"

时间:2016-07-22 18:08:28

标签: ruby twitter oauth

我使用MicroBlogger tutorial制作推文机器人。

我接近" I1:发布推文"部分。我的程序看起来像这样:

require 'jumpstart_auth'

class MicroBlogger
  attr_reader :client

  def initialize
    puts "Initializing MicroBlogger"
    @client = JumpstartAuth.twitter
  end

  def tweet(message)
    @client.update(message)
  end
end

blogger = MicroBlogger.new
blogger.tweet("MicroBlogger Initialized")

我第一次运行它时,Twitter的授权页面在我的浏览器中弹出了授权引脚。我输入了PIN码,我的Twitter帐号被锁定了。我打开了两个这样的auth选项卡,所以也许我复制/粘贴了错误的选项卡。

解锁我的帐户后,我现在在运行程序时没有被带到授权页面时出现以下错误。我尝试退出Twitter并使用新帐户登录,但这没有任何区别。

C:\Users\Daniel\Desktop\projects\microblogger>ruby micro_blogger.rb
Initializing MicroBlogger
C:/Ruby23-x64/lib/ruby/gems/2.3.0/gems/twitter-5.16.0/lib/twitter/reset/request.rb:37:in 'rescue in perform': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (twitter::Error)
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/twitter-5.16.0/lib/twitter/rest/request.rb:32:in 'perform'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/twitter-5.16.0/lib/twitter/rest/utils.rb:50:in 'perform_request'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/twitter-5.16.0/lib/twitter/rest/utils.rb:72:in 'perform_request_with_object'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/twitter-5.16.0/lib/twitter/rest/utils.rb:64:in 'perform_post_with_object'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/twitter-5.16.0/lib/twitter/rest/tweets.rb:158:in 'update!'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/twitter-5.16.0/lib/twitter/rest/tweets.rb:128:in 'update'
from C:/Ruby23-x64/lib/ruby/gems/2.3.0/jumpstart_auth-0.6.0/lib/jumpstart_auth/twitter_client.rb:33:in 'update'
from micro_blogger.rb:12:in 'tweet'
from micro_blogger.rb:17:in '<main>'

我觉得这与jumpstart-auth gem有关,它认为我不需要再次请求授权,但我不知道它是如何工作的。

我再次回顾了教程中的步骤。我达到了这一点:

  

第一次运行时,它会使用Launchy gem弹出您的网络浏览器,并要求获得使用您帐户的权限。

它并没有开放。不确定这是否有用,但我想提到它。

1 个答案:

答案 0 :(得分:0)

错误消息&#34; SSLv3读取服务器证书B:证书验证失败&#34;。

它只是声明SSL证书无效。

可能它与v3版本有关,因为它去年被定义为不安全,并且在大多数操作系统上被禁用。