2015-01-01 4 views
2

Добрый день. Я использую платежный шлюз на сайте с платежами по кредитным картам, банковский шлюз посылает всем своим клиентам, что он прекратит все SSL-соединения, начиная с 3 января, поэтому я должен быть уверен в том, чтобы делать правильные вещи без тесты.Заставить PHP использовать TLS 1.0 вместо 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); 
?> 

это установлено в ложь из-за отладки потребностей.

curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, false); 

Итак, я прочитал, что добавление:

CURLOPT_SSLVERSION => 1 

должны принудительно использовать TLS, это правда? Добавляет ли это этот параметр, чтобы шлюз игнорировал мои запросы? Нужны ли другие варианты?

+0

Я уверен, что вам не нужно ничего делать - пока есть версия, поддерживаемая сервером и завиток, он будет работать. Процесс установления связи SSL/TLS включает обмен информацией о том, что поддерживает один партнер. – ThiefMaster

+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 вышеперечисленных функций. После этого вы можете решить, что вы хотели бы сделать.

Дайте мне знать, если у вас есть вопросы.

Смежные вопросы