Do số recent vulnerability discovered in SSLv3, nhiều nhà cung cấp dịch vụ web (ví dụ: PayPal, Facebook, Google) đang vô hiệu hóa điều đó và muốn chúng tôi sử dụng TLS thay thế. Tôi đang gặp một chút rắc rối khi tìm ra cách để làm điều này.Cập nhật yêu cầu PHP cURL từ SSLv3 thành TLS ..?
Tôi hiện đang sử dụng chức năng sau để xử lý các yêu cầu cURL của mình.
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;
}
Khi tôi cố gắng đánh sandbox của PayPal, tuy nhiên, nơi họ đã bị vô hiệu hóa này, tôi kết thúc với một lỗi cURL: lỗi: 14.077.410: thói quen SSL: SSL23_GET_SERVER_HELLO: SSLv3 cảnh báo bắt tay thất bại
Thông tin mà tôi đã tìm thấy là tôi chỉ cần thay đổi điều này để sử dụng TLS thay vì SSL và các câu trả lời khác mà tôi đã thấy nói đơn giản chỉ bằng cách thêm tùy chọn curl vào chức năng của tôi ...
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
Tôi đã thêm tha t tùy chọn, mặc dù, và tôi vẫn nhận được kết quả chính xác tương tự. Bất kỳ thông tin về cách tôi có thể làm việc này sẽ được đánh giá cao. Cảm ơn!
Bạn có đang sử dụng phiên bản Curl cũ không? Nhìn vào [câu trả lời này] (http://stackoverflow.com/questions/26452755/php-curl-is-probably-using-sslv3-insted-of-tls-when-connecting-to-https) có vẻ như ít nhất là 7.19 có vấn đề với TLS. – cOle2
Vâng, tôi cũng thấy điều đó. Đang cố gắng tìm ra cách để xem phiên bản curl của tôi ngay bây giờ. Tôi chưa bao giờ phải gây rối với bất kỳ điều này trước đây. –
Có vẻ như tôi đang ở trên 7.36.0, vì vậy đó không phải là vấn đề của tôi. –