PayPal的TLS 1.2要求
PayPal 近宣布,他们将需要传输层安全性(TLS)版本1.2,才能在实时环境中处理付款。(PayPal已经在沙箱中要求使用TLS 1.2。)
更多信息:
详细信息(PayPal安全公告)
https://www.paypal.com/uk/webapps/mpp/ssl-security-update
PayPal实时付款将于2016年6月转换(PayPal技术博客)
可能有的错误
根据PayPal所说,此问题的症状包括您的错误日志中的以下消息:
*Unknown SSL protocol error* in connection to api-3t.sandbox.paypal.com:-9824
要么
140062736746144:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number:s3_pkt.c:337:
... (more messages) ...
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported*
Compression: NONE
Expansion: NONE
SSL-Session:
Protocol: SSLv3*
... (more messages) ...
描述
问题的根源是您的libcurl。libcurl低于7.34的版本默认情况下使用TLS 1.1或更早版本。
要确定libcurl正在运行的版本,请在处理PayPal交易的服务器上输入以下命令:
curl --version
如果版本早于7.34,请继续。如果您已经在运行7.34或更高版本,则无需执行任何操作。
可能有用的解决方法
问题的根源是libcurl默认情况下,与CentOS 6.6和更早版本打包在一起的库使用TLS 1.1或更早版本。
要确定服务器运行的CentOS版本,请输入以下命令:
cat /etc/*release*
如果您已经在运行CentOS 6.8或更高版本,则无需采取任何措施。根据CentOS 6.8更改日志,“现在,各种应用程序都支持TLS 1.2,即OpenLDAP,yum,stunnel,vsftpd,git,postfix等。此外,默认情况下,已在各种程序包中启用了TLS 1.2”。
(CentOS 7的更新版本libcurl也默认为TLS 1.2。)
您有以下选择:
将您的Magento服务器升级到CentOS 6.8或更高版本。
其推荐的存储库支持带有的当前TLS版本libcurl。使用CentOS 6.8或更高版本是继续运营商店并接受PayPal的 安全方法。
CentOS 6.8的libcurl版本默认为TLS 1.2。
(安全性较低,不建议使用)。libcurl使用非推荐的第三方存储库在CentOS 6上升级到7.34或更高版本。
一种可能的解决方案是使用serverfault上的信息。