【问题标题】:curl with openssl instead of nss使用 openssl 而不是 nss 卷曲
【发布时间】:2015-11-13 09:39:19
【问题描述】:

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

如何让 curl 使用 openssl?

这是一个虚拟服务器:

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

【问题讨论】:

    标签: curl openssl


    【解决方案1】:

    我有一个带有 PHP 5.3.3 服务器的旧客户端,使用 SSL 版本 NSS/3.12.7.0 的 curl。我们在向 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!

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 但是怎么做呢?我在此站点上找到了有关此问题的另一篇文章:stackoverflow.com/questions/16699868/… 那么这是我配置的正确方法吗:? ./configure --with-ssl=/usr/include --without-nss 不幸的是,“./configure”似乎不起作用。我收到以下错误:“./configure - 没有这样的文件或目录”。我检查了是否通过以下方式安装了 openssl: rpm -qa | grep -i openssl 答案是:“openssl-1.0.1e-42.el6.x86_64” 那么我必须如何使用带有 curl 的 openssl?
      猜你喜欢
      • 2013-05-17
      • 2017-07-06
      • 2014-12-11
      • 2021-10-24
      • 2015-05-31
      • 2014-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多