我们的登台服务器连接到我们的Xero公共应用程序完全正常,直到现在(2016年12月7日)。由于一些奇怪的原因,它现在已经返回了以下错误:Xero公开申请突然证书验证失败
OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
下面是我们使用连接到Xero的代码片段。
@xero_client = Xeroizer::PublicApplication.new(APP_KEY, APP_SECRET, :logger => Logger.new('log/xero.log', 'weekly') request_token = @xero_client.request_token(:oauth_callback => "#{APP_DOMAIN}/oauth/callback")
然后该应用失败在这条线,并抛出上述指定SSLError
。
任何人都知道这个的根本原因?
详情:
- 我们使用
Ubuntu 14.04 (Trusty)
- 我们使用
Ruby on Rails 4.1.7
,Ruby 2.1.8p440
- 我们使用
Xeroizer 2.16.4
宝石 - SSL服务器上看起来不错,但按照与第三方检查检查SSL是否在网站中正确安装的网站;
- 将APP_KEY和APP_SECRET更改为合作伙伴应用程序,并将构造函数更改为
Xeroizer::PartnerApplication
,并添加相关的额外参数(即服务器SSL安装为而不是问题)。
这是Xeroizer的维护人员在[this Github issue]底部附近提到的正确答案(https://github.com/waynerobinson/xeroizer/issues/285#issuecomment-265017377) – MJMortimer