Ruby 2.6.6 OpenSSL 1.1.1g - ошибка проверки сертификата (невозможно получить сертификат локального эмитента)

Сегодня возникла проблема после того, как сайт 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. Обновление ActiveMerchant не представляется возможным из-за Gemspec, и мы сильно модифицировали Solidus, так что мы также не можем легко обновить его.

У кого-нибудь есть идеи, как это решить?


person Matthew Ruddy    schedule 30.05.2020    source источник


Ответы (1)


Мы столкнулись с той же проблемой при использовании драгоценного камня с checkout.com, вы можете попробовать это исправление, которое в настоящее время находится в PR на active_merchant https://github.com/activemerchant/active_merchant/pull/3704

person Neo87    schedule 28.07.2020