首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用AppEngine在本地主机上提供SSLCertificateError的Paypal集成

使用AppEngine在本地主机上提供SSLCertificateError的Paypal集成
EN

Stack Overflow用户
提问于 2016-02-23 22:27:59
回答 1查看 449关注 0票数 1

我正在将帕帕雷斯茨集成到AppEngine项目中。当使用本地dev_appserver时,我试图在PayPal沙箱上创建一个支付,我有以下错误:

代码语言:javascript
复制
SSLCertificateError: Invalid and/or missing SSL certificate for URL: https://api.sandbox.paypal.com/v1/oauth2/token

因此,我尝试提供正确的pem文件,从这里下载它并设置正确的ssl_option属性:

代码语言:javascript
复制
# Setting up the correct path to the .pem file
cert = os.path.join(ROOT, 'certs/api.sandbox.paypal.com_SHA-2_01132018.pem')
logger.info("Using SSL certificate: %s", cert)
return Api(
    mode=get_paypal_environment(), # sandbox or live
    client_id=flask.current_app.config["PAYPAL_CLIENT_ID"],
    client_secret=flask.current_app.config["PAYPAL_CLIENT_SECRET"],
    ssl_options={"cert": cert}
)

这里有关于如何提供证书的详细信息的PayPalRestSDK文档。我已经检查了创建的路径是否正确。

我已经找到了一个bug报告这里,它谈到了一个类似的问题。

此外,我已经尝试了建议的解决方案这里,但仍然不起作用。

在一个活动实例上,在appspot上,这一切都完美地工作在上。

下面是我的requirements.txt的相关部分:

代码语言:javascript
复制
Flask==0.10.1
itsdangerous==0.24
paramiko==1.15.1
pycrypto==2.6.1
Flask-OAuthlib==0.9.1
google-api-python-client==1.4.0
paypalrestsdk==1.11.1
requests[security]==2.9.1

有人有同样的问题吗?

EN

回答 1

Stack Overflow用户

发布于 2016-02-27 07:16:09

好的,我相信我已经解决了这个问题,至少在我的情况下,我会在下面描述。

这似乎是由两个问题造成的:

问题1) PayPal正在迁移到只支持TLS1.2,并且已经开始切换沙箱URL,生产URL将在稍后出现。这就解释了为什么只有在从沙箱连接时才会出现故障,以及为什么它曾经工作过,但现在却不起作用。关于这个这里的更多信息。

问题2)我本地安装的Python不支持TLS 1.2。下面是一个简单的检查方法:

代码语言:javascript
复制
$ python
>>> import ssl
>>> print ssl._PROTOCOL_NAMES

如果您没有看到PROTOCOL_TLSv1_2列出,这绝对是问题所在。在我的例子中,我在MacOSX10.11上使用Python上的内置版本,该版本在OpenSSL上内置了一个相当老的版本。

那怎么解决呢?好吧,在我的例子中,这很好用(主要是从这里复制的):

代码语言:javascript
复制
$ brew update
$ brew install openssl
$ brew link openssl --force 
$ brew install python --with-brewed-openssl
$ sudo ln -s /usr/local/Cellar/python/2.7.11/bin/python /usr/local/bin/python

现在,如果您运行上面列出的测试,您应该会看到列出的1.2协议。

这会让一切恢复正常,祝你好运!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35589523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档