使用openssl而不是nss卷曲

时间:2015-11-13 09:39:20

标签: curl openssl

我有一个客户端有一个旧的商店软件,它有一个Paypal插件,似乎不适用于卷曲与nss。所以我需要把它改成openssl。

如何告诉curl使用openssl?

这是一个虚拟服务器:

CentOS 6.7 Plesk 12.5 四核AMD Opteron(tm)处理器2352(4核)

2 个答案:

答案 0 :(得分:1)

我有一个旧客户端,服务器使用PHP 5.3.3,使用curl和SSL版本NSS / 3.12.7.0。我们无法向PayWay发送数据。他们报告说数据是通过TLS1.0发送的。

我已使用

检查了服务器

php -r '$ch = curl_init("https://www.howsmyssl.com/a/check"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $data = curl_exec($ch); curl_close($ch); $json = json_decode($data); echo $json->tls_version;'

它返回TLS1.0。

所有解决方案都是重建curl和php。我正在重建卷曲的过程。出现了一些错误,我必须先更新ca证书。

yum update ca-certificates

更新时,我发现nss正在更新。

更新ca-certificates之后,我再次检查了tls版本,它现在正在使用TLS1.2!

答案 1 :(得分:0)

我非常确定您需要重建(或者,更好/更容易,使用您的软件包管理器重新安装)curl,并且您需要确保预先构建/安装了OpenSSL (我打算以某种方式打赌)。我不认为nss和OpenSSL有相同的API,所以你不能做一些LD路径魔法来在两者之间切换。