gpt4 book ai didi

php - 将 PHP cURL 请求从 SSLv3 更新为 TLS..?

转载 作者:可可西里 更新时间:2023-11-01 12:34:53 24 4
gpt4 key购买 nike

因为 recent vulnerability discovered in SSLv3 ,许多网络服务提供商(即 PayPal、Facebook、谷歌)正在禁用它并希望我们改用 TLS。我在弄清楚如何执行此操作时遇到了一些麻烦。

我目前正在使用以下函数来处理我的 cURL 请求。

function CURLRequest($Request = "", $APIName = "", $APIOperation = "", $PrintHeaders = false)
{
$curl = curl_init();
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_TIMEOUT, 30);
curl_setopt($curl, CURLOPT_URL, $this->EndPointURL);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $Request);

if($this->APIMode == 'Certificate')
{
curl_setopt($curl, CURLOPT_SSLCERT, $this->PathToCertKeyPEM);
}

$Response = curl_exec($curl);

/*
* If a cURL error occurs, output it for review.
*/
if($this->Sandbox)
{
if(curl_error($curl))
{
echo curl_error($curl).'<br /><br />';
}
}

curl_close($curl);
return $Response;
}

当我尝试访问 PayPal 的沙箱时,虽然他们已经禁用了它,但我最终遇到了一个 cURL 错误:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure/p>

我发现的信息是我只需要将其更改为使用 TLS 而不是 SSL,而我看到的其他答案说只需向我的函数添加 curl 选项即可...

curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);

虽然我已经添加了该选项,但我仍然得到完全相同的结果。将不胜感激任何有关我如何进行这项工作的信息。谢谢!

最佳答案

复制自:SSL error can not change to TLS

尝试添加 curl_setopt($curl, CURLOPT_SSL_CIPHER_LIST, 'TLSv1');到你的代码。

如果您的 cURL 是基于 OpenSSL libssl 的,这将起作用,但如果基于 nss 则不起作用。

关于php - 将 PHP cURL 请求从 SSLv3 更新为 TLS..?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26763737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com