2

多年来,我一直在 ruby​​ 1.8 上使用旧版本的 active_merchant (v1.8) 向 SagePay 支付在线商店的费用,三天前它停止工作。我查看了日志并收到以下错误:

OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed):

我在网上查了一下,发现 SagePay 可能已经放弃了 SSL3 支持,所以我尝试设置:

http.ssl_version = :TLSv1

但我得到了同样的错误。我尝试设置:

http.ssl_version = :SSLv2

但得到了这个错误:

ActiveMerchant::ConnectionError (The remote server reset the connection):

我现在有点不知所措。我假设 SagePay 现在只接受某个协议,但它不接受我的任何请求。

关于如何调试这种情况的任何建议?!

4

1 回答 1

0

我在星期五发布了以下内容,但似乎我的答案已被删除。

如果证书验证失败,则可能由于缺少根证书和/或中间证书而无法验证 Sagepay 证书。

SagePay 最近已迁移到 DigiCert。保持 SSL2 和 SSL3 禁用。

于 2015-03-16T00:02:47.383 回答