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

Posted

技术标签:

【中文标题】OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed)【英文标题】: 【发布时间】:2016-01-15 01:48:08 【问题描述】:

我知道有很多关于这个错误的讨论,但很抱歉我无法找到任何可行的解决方案。

我正在使用ShareTribe 开发一个电子商务网站。我正在尝试将Paypal 实现为支付网关。所以我正在使用Activemerchant。

在开发机器上一切正常,但是当我将我的 rails 应用程序部署到生产环境时它会抛出

我将我的 Activemerchant 初始化为

 config.after_initialize do
    ActiveMerchant::Billing::Base.mode = :test
    paypal_options = 
        login: "bla bla",
        password: "bla bla",
        signature: "bla bla",
        appid: "APP-80W284485P519543T"
    
    ::EXPRESS_GATEWAY = ActiveMerchant::Billing::PaypalExpressGateway.new(paypal_options)

  end

我正在尝试在生产中添加 Paypal Pem 证书,但不知道如何将此文件与 Activemerchant 链接。任何感谢将不胜感激。 谢谢

【问题讨论】:

【参考方案1】:

在初始化程序中创建一个文件 active_merchant.rb 并输入以下代码:

ActiveMerchant::Billing::Base.mode = :test GATEWAY = ActiveMerchant::Billing::PaypalGateway.new( :login => "bla-bla", :password => "bla-bla", :signature => "bla-bla" )

【讨论】:

【参考方案2】:

SSLv3 被证明是不安全的 POODLE 漏洞。您应该确保您的系统具有最新版本的 OpenSSL,以便您可以使用 TLSv1.2。

【讨论】:

以上是关于OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certif的主要内容,如果未能解决你的问题,请参考以下文章

使用 Ruby on Rails 的 HTTP GET 请求:OpenSSL::SSL::SSLError

带有 fb_auth.exchange_token 的 OpenSSL::SSL::SSLError

OpenSSL::SSL::SSLError(主机名“smtp.mandrillapp.com”与服务器证书不匹配)

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

OpenSSL::SSL::SSLError: SSL_connect SYSCALL returned=5 errno=0 state=SSLv3/TLS write client hello

OpenSSL::SSL::SSLError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certif