TLS v1.2 curl调用是否需要升级服务器证书

时间:2018-03-07 03:59:04

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

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

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

我正在使用php curl进行这一特殊更改:

curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);

其中define的值为:

define('CURL_SSLVERSION_TLSv1_2',   6);

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

More about TLS 1.2 requirement for PHP