Z powodu numeru recent vulnerability discovered in SSLv3 wielu dostawców usług internetowych (np. PayPal, Facebook, Google) wyłącza to i chce, abyśmy zamiast tego używali TLS. Mam problem z ustaleniem, jak to zrobić.Aktualizacja żądania PHP cURL z SSLv3 na TLS ..?
Aktualnie używam poniższej funkcji do obsługi moich żądań 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;
}
przy próbie trafienia piaskownicy PayPal, chociaż, gdzie zostały one już wyłączone to, jak skończyć z cURL błędu: błędach: 14077410: rutyny SSL: SSL23_GET_SERVER_HELLO alert SSLv3 awarii handshake
Informacje, które znalazłem, to to, że muszę to zmienić, aby używać TLS zamiast SSL, a inne odpowiedzi, które widziałem, po prostu robią to, dodając opcję curl do mojej funkcji ...
curl_setopt($curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
Dodałem Tha t opcja, i nadal otrzymuję dokładnie taki sam wynik. Wszelkie informacje na temat tego, w jaki sposób mogę uzyskać tę funkcję, będą bardzo mile widziane. Dzięki!
Czy masz starą wersję Curl? Patrząc na [tę odpowiedź] (http://stackoverflow.com/questions/26452755/php-curl-is-probably-using-sslv3-insted-of-tls-when-connecting-to-https) wydaje się co najmniej 7.19 ma problemy z TLS. – cOle2
Tak, właśnie to zobaczyłem. Próbuję teraz dowiedzieć się, jak wyświetlić moją wersję curl. Nigdy wcześniej nie musiałem się z tym bałaganić. –
Wygląda na to, że jestem w wersji 7.36.0, więc nie powinno to być moim problemem. –