PayPal API SSL问题-刚刚开始

Houdi

尝试在我们的生产系统上处理PayPal付款时,我们刚刚开始收到以下错误。我们的系统最近没有更新,因此问题不是我们的代码库。

错误报告为:'''Membership#pay_renewal中发生OpenSSL :: SSL :: SSLError:

SSL_connect返回= 1 errno = 0状态=错误:证书验证失败(无法获取本地发行者证书)'''

我不知道该从哪里开始。

该应用程序正在运行Ruby on Rails v6.0.2,使用paypal-sdk-rest gem(v 1.7.4),并在Amazon EC2 Redhat实例上运行。

我怀疑这与需要在我们服务器上的某处安装新证书有关。

新浪网

对于那些正在寻求即时解决方案的人,除了提供的@ preston-phx和@houdi信息之外,这里还有更多技术细节:

如Paypal文章所述:https : //www.paypal.com/us/smarthelp/article/migration-to-digicert-root-certificates-ts2240

从此处下载Digicert的“ DigiCert高保证EV根CA”和“ DigiCert全球根G2”证书:

https://www.digicert.com/kb/digicert-root-certificates.htm

另外,从以下位置下载要调用的所有Paypal API的证书:

https://www.paypal.com/us/smarthelp/article/ts1510

(就我而言,我仅使用api.paypal.com,因此我下载了api.paypal.com.pem和api.sandbox.paypal.com.pem)

这些将为您提供一组pem文件,例如:

DigiCertGlobalRootG2.crt.pem
DigiCertHighAssuranceEVRootCA.crt.pem
api.paypal.com.pem
api.sandbox.paypal.com.pem

将所有文件合并到单个paypal.crt文件中,该文件如下所示:

-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
...

将文件放在项目中的某个位置。我把它放在data/paypal.crt类似于PayPal-Ruby-SDK存储它的地方。

现在,您可以通过在初始化PayPal SDK之前的某个位置添加以下代码段,来修补SDK以使用paypal.crt文件而不使用SDK中提供的过时文件。

# Monkey patch the paypal certificate file
PayPal::SDK::Core::Util::HTTPHelper.class_eval do
  def default_ca_file
    File.expand_path("../../data/paypal.crt", __dir__)
  end 
end

我使用的是Rails,因此将其直接添加到config / initializers / paypal.rb文件的顶部。

(我在这里不提供证书或证书本身的任何直接链接,因为您永远不应该信任第三方提供的任何证书。直接从PayPal和Digicert网站下载所有证书)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Paypal REST Api实现

来自分类Dev

Paypal Rest API的工作

来自分类Dev

Flask Python刚刚开始向网址添加随机哈希.dpbs

来自分类Dev

在SQL中替换刚刚开始的字符串

来自分类Dev

“不支持URI格式。” 异常刚刚开始以非常老的,未更改的代码显示

来自分类Dev

无法在SSL网站上使用Paypal API

来自分类Dev

PayPal API Http调用问题

来自分类Dev

PayPal SSL错误/问题

来自分类Dev

因此,我刚刚开始在treehouse.com中学习Java,它已经完成了基本工作,但是当我尝试在Intellij想法上学到的所有内容时,我却无济于事

来自分类Dev

PayPal API与angularjs

来自分类Dev

刚刚开始与Google图表+ displayMode = text一起发生的MissingKeyMapError

来自分类Dev

Magento和Paypal问题

来自分类Dev

PayPal REST API v1的付款问题

来自分类Dev

我刚刚开始学习使用硒的网络抓取。我需要登录本地网站并双击某些项目

来自分类Dev

我刚刚开始学习JavaScript,但我正尝试建立一个计算器网站,但无法正常运行

来自分类Dev

我刚刚开始学习使用C ++的链接列表。我正在尝试使用矢量创建一个链表。为什么此代码有问题?

来自分类Dev

通过API的PayPal声明

来自分类Dev

Paypal Rest Api错误

来自分类Dev

Paypal PHP API集成

来自分类Dev

PayPal经典API快速结帐-税收问题

来自分类Dev

我可以改善我的PDO方法吗(刚刚开始)

来自分类Dev

在SQL中替换刚刚开始的字符串

来自分类Dev

我刚刚开始学习python。我想获取文件名作为用户输入

来自分类Dev

获取刚刚开始的屏幕会话的PID

来自分类Dev

我刚刚开始android开发,当我制作此应用程序时,它在调试时不起作用

来自分类Dev

刚刚开始与Google图表+ displayMode = text一起发生的MissingKeyMapError

来自分类Dev

Azure Worker 角色刚刚开始工作

来自分类Dev

使用哪个paypal api

来自分类Dev

spring paypal api上下文问题

Related 相关文章

  1. 1

    Paypal REST Api实现

  2. 2

    Paypal Rest API的工作

  3. 3

    Flask Python刚刚开始向网址添加随机哈希.dpbs

  4. 4

    在SQL中替换刚刚开始的字符串

  5. 5

    “不支持URI格式。” 异常刚刚开始以非常老的,未更改的代码显示

  6. 6

    无法在SSL网站上使用Paypal API

  7. 7

    PayPal API Http调用问题

  8. 8

    PayPal SSL错误/问题

  9. 9

    因此,我刚刚开始在treehouse.com中学习Java,它已经完成了基本工作,但是当我尝试在Intellij想法上学到的所有内容时,我却无济于事

  10. 10

    PayPal API与angularjs

  11. 11

    刚刚开始与Google图表+ displayMode = text一起发生的MissingKeyMapError

  12. 12

    Magento和Paypal问题

  13. 13

    PayPal REST API v1的付款问题

  14. 14

    我刚刚开始学习使用硒的网络抓取。我需要登录本地网站并双击某些项目

  15. 15

    我刚刚开始学习JavaScript,但我正尝试建立一个计算器网站,但无法正常运行

  16. 16

    我刚刚开始学习使用C ++的链接列表。我正在尝试使用矢量创建一个链表。为什么此代码有问题?

  17. 17

    通过API的PayPal声明

  18. 18

    Paypal Rest Api错误

  19. 19

    Paypal PHP API集成

  20. 20

    PayPal经典API快速结帐-税收问题

  21. 21

    我可以改善我的PDO方法吗(刚刚开始)

  22. 22

    在SQL中替换刚刚开始的字符串

  23. 23

    我刚刚开始学习python。我想获取文件名作为用户输入

  24. 24

    获取刚刚开始的屏幕会话的PID

  25. 25

    我刚刚开始android开发,当我制作此应用程序时,它在调试时不起作用

  26. 26

    刚刚开始与Google图表+ displayMode = text一起发生的MissingKeyMapError

  27. 27

    Azure Worker 角色刚刚开始工作

  28. 28

    使用哪个paypal api

  29. 29

    spring paypal api上下文问题

热门标签

归档