【问题标题】:Does TLS v1.2 curl call require any upgrade in server certificatesTLS v1.2 curl 调用是否需要对服务器证书进行任何升级
【发布时间】:2018-08-15 01:55:50
【问题描述】:

我有几个使用 Authorize.NET 付款的网站。由于他们已升级为仅支持 TLS 1.2,因此我的一个网站无法运行。

我更新了集成以使用 TLS v1.2,但它不再验证卡。

我正在使用 php curl 进行此特定更改:

curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);

其中定义的值是:

define('CURL_SSLVERSION_TLSv1_2',   6);

问题是是否还需要一些服务器证书升级来支持对 Authorize.NET 的调用?

【问题讨论】:

  • 你让它工作了吗? :)

标签: php ssl curl tls1.2 authorize.net


【解决方案1】:

TLS 1.2 应该适用于所有仍然实际相关且适用于旧版本 TLS 的证书。它可能不适用于只有 MD5 签名的证书,但这些证书早已过时,现在不应该使用多年,即实际上不相关。 因此,您遇到的问题很可能不是证书。

【讨论】:

    【解决方案2】:

    分享您的环境信息和错误详情将有助于找出原因。无论哪种方式,您都必须确保您的 TLS 1.2 正常工作。您可以尝试使用PayPalTLS testHow's My SSL 进行测试。

    如果不顺利,首先检查您的 OpenSSL 和 cURL 版本。从 OpenSSL 1.0.1cURL 7.34 开始支持 TLS 1.2。您可以通过运行命令 openssl_versionphp --ri curl 来查找您的 cURL 版本来查找您的 OpenSSL 版本。请注意,PHP 的 cURL 使用它自己的 OpenSSL 库,因此您可能拥有与系统上安装的 OpenSSL 不同的版本。 如果您的版本已过时,您可以通过对 OpenSSL 运行 yum update openssl 和对 cURL 运行 yum update curl libcurl 进行更新。请记住在更新后重新启动您的网络服务器。
    您可能还需要更新您的CA certificates to the latest (extracted from Mozilla)。只需下载它,将其放置在某处或替换您当前的cacert.perm,将您的证书路径添加到您的php.ini 中的openssl.cafilecurl.cainfo,然后再试一次。

    More about TLS 1.2 requirement for PHP.

    【讨论】:

      猜你喜欢
      • 2017-11-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-19
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 2013-11-11
      相关资源
      最近更新 更多