在 CentOS 5.11 上使用 TLS 1.2 与 Paypal IPN 一起使用

在 CentOS 5.11 上使用 TLS 1.2 与 Paypal IPN 一起使用

我们当前的 Web 堆栈安装在带有 Plesk 的 CentOS 5.11 服务器上。我们使用 PHP 5.4、cURL 7.47.1 和 openSSL 0.9.8e-fips-rhel5 2008 年 7 月 1 日。我尝试使用基于此处示例的代码运行 Paypal IPN:https://github.com/paypal/ipn-code-samples/blob/master/paypal_ipn.php

问题是握手尝试使用 SSLv3,而 Paypal 似乎不支持该版本(也许我错了?)。我收到此错误:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure。我发现其他地方建议尝试几种方法。我都试过了。我尝试使用

curl_setopt($ch, CURLOPT_SSLVERSION, 5);

curl_setopt($ch, CURLOPT_SSLVERSION, 6);

curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, "TLSv1");

curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, "TLSv1.2");

这些都不起作用。cURL 和 OpenSSL 都已更新到 CentOS 5.11 可用的最新端口。

我希望我遗漏了某些内容,有一种方法可以在没有 TLS 的情况下运行 Paypal IPN,或者有一种方法可以将 openSSL 更新到 1.0.1g。任何帮助都将不胜感激。

注意:升级到 CentOS 6 不是一个选项。

答案1

您可以尝试编译较新版本的 openssl:https://miteshshah.github.io/linux/centos/how-to-enable-openssl-1-0-2-a-tlsv1-1-and-tlsv1-2-on-centos-5-and-rhel5/

更好的方法是迁移到新的 CentOS6 或 CentOS7。Plesk 有很棒的迁移管理工具。

相关内容