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 - 证书验证失败(无法获取本地颁发者证书)的主要内容,如果未能解决你的问题,请参考以下文章

Centos 6.5 部署 redmine 3.3

centOS7安装redis5.0.7

ruby Ruby脚本,看看是否用openssl编译了ruby

text Ruby OpenSSL #memo #ruby

linux(Ubuntu/deepin)下安装openssl

linux(Ubuntu/deepin)下安装openssl