美好的一天。 我在使用信用卡付款的网站上使用支付网关,银行网关向其所有客户发送它将从1月3日开始停止所有SSL连接,因此我必须确保做正确的事情没有测试。
实际上我在进行连接之前就已经使用了这个配置:
<?php
curl_setopt($curl_handle, CURLOPT_URL,$to_url);
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $data);
$buffer = curl_exec($curl_handle);
curl_close($curl_handle);
?>
由于调试需要,它被设置为false。
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false);
所以,我已经读到了添加:
CURLOPT_SSLVERSION => 1
应该强制使用TLS,这是真的吗? 添加此选项是否会阻止网关忽略我的请求? 它需要其他一些选择吗?
答案 0 :(得分:0)
如果您没有指定经常发生的TLS版本,则可能会遇到连接问题。
您需要以下选项:
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
curl_setopt($ch, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
curl_setopt($ch, CURLOPT_CAINFO, 'cacert.crt');
curl_setopt($ch, CURLOPT_SSL_CIPHER_LIST, $array_ciphers);
这样,您将获得最大的前瞻性保密。
您可以随时删除任何上述参数,但在此之前,请务必阅读上述detailed explanation函数。 之后你可以决定你想做什么。
如果您有任何疑问,请与我们联系。