Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我的PayPal脚本突然停止验证SSL证书_Php_Ssl_Curl_Paypal_Paypal Ipn - Fatal编程技术网

Php 我的PayPal脚本突然停止验证SSL证书

Php 我的PayPal脚本突然停止验证SSL证书,php,ssl,curl,paypal,paypal-ipn,Php,Ssl,Curl,Paypal,Paypal Ipn,因此,我的脚本(IPN侦听器、API调用等)工作正常,但突然开始抛出一个关于无法验证SSL证书的错误。这是我的错误(如图所示) SSL连接错误 为什么它停止工作了?去年,所有处理信用卡的人都发生了重大变化。具体而言,有一项规定,所有处理必须仅在TLS 1.1或更高版本上完成。最初的日落日期是2016年6月30日,但那是 支付卡行业安全标准委员会(PCI SSC)将迁移完成日期延长至2018年6月30日,以便从SSL和TLS 1.0过渡到TLS的安全版本(目前为v1.1或更高版本) 现在,虽然这一

因此,我的脚本(IPN侦听器、API调用等)工作正常,但突然开始抛出一个关于无法验证SSL证书的错误。这是我的错误(如图所示)

SSL连接错误

为什么它停止工作了?

去年,所有处理信用卡的人都发生了重大变化。具体而言,有一项规定,所有处理必须仅在TLS 1.1或更高版本上完成。最初的日落日期是2016年6月30日,但那是

支付卡行业安全标准委员会(PCI SSC)将迁移完成日期延长至2018年6月30日,以便从SSL和TLS 1.0过渡到TLS的安全版本(目前为v1.1或更高版本)

现在,虽然这一缓刑给了程序员一些喘息的空间,但它仍然意味着迁移到TLS 1.1+不是可选的(事实上,如果我是你,我会更快地移动),一些中间卡处理将比这更早开始移动。事实证明,贝宝就是其中之一

TLS 1.2升级 目前在web上共享信息最安全的协议是传输层安全(TLS)1.2版。PayPal正在为所有安全连接启用TLS 1.2支持,并将于2016年开始要求使用它。您需要验证您的环境是否支持TLS 1.2,并在必要时进行适当的更新2016年6月17日,贝宝正在更新其服务,要求所有HTTPS连接使用TLS v1.2。在此日期之后,所有TLS v1.0和TLS v1.1 API连接都将被拒绝。

现在,从理论上讲,您的旧脚本(前提是您没有存储PayPal的公钥)应该可以正常运行,但沙盒(已经移动到这个位置)通信已经开始失败。我发现,由于各种原因,一些通信层(尤其是PHP中的CURL,与PayPal交谈的一种非常常见的方式)无法再与PayPal正常协商。因此,您得到了一个神秘的错误

SSL连接错误

谢谢。这很有帮助。。。(不是)

那么我们如何解决这个问题呢?好吧,如果我们告诉CURL只使用tls1.2,那么你打给PayPal的电话应该可以正常工作了。如果您使用的是PHP和CURL,那么可以通过添加这样的代码来实现(其中,
$ch
是您的CURL处理程序)

这一变化对于沙箱和实时呼叫贝宝都是非常安全的。

去年,所有处理信用卡的人都有了重大变化。具体而言,有一项规定,所有处理必须仅在TLS 1.1或更高版本上完成。最初的日落日期是2016年6月30日,但那是

支付卡行业安全标准委员会(PCI SSC)将迁移完成日期延长至2018年6月30日,以便从SSL和TLS 1.0过渡到TLS的安全版本(目前为v1.1或更高版本)

现在,虽然这一缓刑给了程序员一些喘息的空间,但它仍然意味着迁移到TLS 1.1+不是可选的(事实上,如果我是你,我会更快地移动),一些中间卡处理将比这更早开始移动。事实证明,贝宝就是其中之一

TLS 1.2升级 目前在web上共享信息最安全的协议是传输层安全(TLS)1.2版。PayPal正在为所有安全连接启用TLS 1.2支持,并将于2016年开始要求使用它。您需要验证您的环境是否支持TLS 1.2,并在必要时进行适当的更新2016年6月17日,贝宝正在更新其服务,要求所有HTTPS连接使用TLS v1.2。在此日期之后,所有TLS v1.0和TLS v1.1 API连接都将被拒绝。

现在,从理论上讲,您的旧脚本(前提是您没有存储PayPal的公钥)应该可以正常运行,但沙盒(已经移动到这个位置)通信已经开始失败。我发现,由于各种原因,一些通信层(尤其是PHP中的CURL,与PayPal交谈的一种非常常见的方式)无法再与PayPal正常协商。因此,您得到了一个神秘的错误

SSL连接错误

谢谢。这很有帮助。。。(不是)

那么我们如何解决这个问题呢?好吧,如果我们告诉CURL只使用tls1.2,那么你打给PayPal的电话应该可以正常工作了。如果您使用的是PHP和CURL,那么可以通过添加这样的代码来实现(其中,
$ch
是您的CURL处理程序)


此更改可完全安全地用于对PayPal的Sandbox和实时呼叫。

我们必须使用缺少TLS1.1-底部疼痛支持的旧curl版本升级旧服务器我们必须使用缺少TLS1.1-底部疼痛支持的旧curl版本升级旧服务器
curl_setopt($ch, CURLOPT_SSLVERSION, 6); // Force TLS 1.2