Ruby 2.6.6 OpenSSL 1.1.1g - 证书验证失败(无法获取本地颁发者证书)
Posted
技术标签:
【中文标题】Ruby 2.6.6 OpenSSL 1.1.1g - 证书验证失败(无法获取本地颁发者证书)【英文标题】:Ruby 2.6.6 OpenSSL 1.1.1g - certificate verify failed (unable to get local issuer certificate) 【发布时间】:2020-09-18 04:22:43 【问题描述】:checkout.com 将其 SSL 证书更新为 SSLv3 后,今天遇到了问题。以下是日志的输出:
Gateway Error
30 May 2020 16:28:29.123147 <190>1 2020-05-30T15:28:28.906445+00:00 app web.1 - - --- !ruby/exception:ActiveMerchant::ConnectionError
30 May 2020 16:28:29.123167 <190>1 2020-05-30T15:28:28.906447+00:00 app web.1 - - message: The SSL connection to the remote server could not be established
30 May 2020 16:28:29.123154 <190>1 2020-05-30T15:28:28.906447+00:00 app web.1 - - triggering_exception: !ruby/exception:OpenSSL::SSL::SSLError
30 May 2020 16:28:29.123175 <190>1 2020-05-30T15:28:28.906448+00:00 app web.1 - - message: 'SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B:
30 May 2020 16:28:29.123165 <190>1 2020-05-30T15:28:28.906449+00:00 app web.1 - - certificate verify failed (unable to get local issuer certificate)'
30 May 2020 16:28:29.12394 <190>1 2020-05-30T15:28:28.906449+00:00 app web.1 - -
由于他们更新了 SSL 证书,我们遇到了这个问题。
我们的应用基于旧版本的 Solidus v1.3.2 构建,该版本使用 ActiveMerchant v1.48.0。由于 Gemspec,似乎无法更新 ActiveMerchant,而且我们对 Solidus 进行了大量修改,因此我们也无法轻松更新。
有人知道如何解决这个问题吗?
【问题讨论】:
【参考方案1】:我们在 checkout.com 上使用 gem 时遇到了同样的问题,您可以在 active_merchant 的 PR 中尝试此修复 https://github.com/activemerchant/active_merchant/pull/3704
【讨论】:
以上是关于Ruby 2.6.6 OpenSSL 1.1.1g - 证书验证失败(无法获取本地颁发者证书)的主要内容,如果未能解决你的问题,请参考以下文章
ruby Ruby脚本,看看是否用openssl编译了ruby