Xero Public 应用程序上的证书突然验证失败
Sudden Certificate Verify Failed on Xero Public Application
我们的登台服务器连接到我们的 Xero Public 应用程序非常好,直到现在(2016 年 12 月 7 日)。由于某些奇怪的原因,它现在返回以下错误:
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
gem
- 服务器上的 SSL 似乎正常,根据检查 3rd 方站点检查站点中是否正确安装了 SSL;
- 将 APP_KEY 和 APP_SECRET 更改为合作伙伴应用程序并将构造函数更改为
Xeroizer::PartnerApplication
,并添加相关的额外参数(这意味着服务器 SSL 安装是 不是问题)。
原来我们必须将 ca_file
设置为 nil。
@xero_client.client.consumer_options[:ca_file] = nil
这可能与 gem 附带的内置 ca-certificates.crt
已过时有关。
在我们的服务器中,xeroizer crt 文件位于 /home/deploy/.bundler/mergethat/ruby/2.1.0/gems/xeroizer-2.16.4/lib/xeroizer/ca-certificates.crt
。根据您的 ruby gem/bundler/rvm 设置,它会有不同的路径。
我们也 运行 遇到了这个问题 - 更新到 Xeroizer 2.16.5
版本 gem 为我们解决了这个问题。
我们的登台服务器连接到我们的 Xero Public 应用程序非常好,直到现在(2016 年 12 月 7 日)。由于某些奇怪的原因,它现在返回以下错误:
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
gem - 服务器上的 SSL 似乎正常,根据检查 3rd 方站点检查站点中是否正确安装了 SSL;
- 将 APP_KEY 和 APP_SECRET 更改为合作伙伴应用程序并将构造函数更改为
Xeroizer::PartnerApplication
,并添加相关的额外参数(这意味着服务器 SSL 安装是 不是问题)。
原来我们必须将 ca_file
设置为 nil。
@xero_client.client.consumer_options[:ca_file] = nil
这可能与 gem 附带的内置 ca-certificates.crt
已过时有关。
在我们的服务器中,xeroizer crt 文件位于 /home/deploy/.bundler/mergethat/ruby/2.1.0/gems/xeroizer-2.16.4/lib/xeroizer/ca-certificates.crt
。根据您的 ruby gem/bundler/rvm 设置,它会有不同的路径。
我们也 运行 遇到了这个问题 - 更新到 Xeroizer 2.16.5
版本 gem 为我们解决了这个问题。