Ошибка SSL не может измениться на TLS

Я работаю довольно долгое время на веб-сайте, который сильно зависит от правильной работы Paypal. Без него это действительно бесполезно.

Около 1 часа утра мое время (я нахожусь в часовом поясе CET), все работает отлично, я отполировал код, функции, и он работал так, как должен. Я сделал тройные проверки, прежде чем я заснул, что все работает так, как должно.

Я просыпаюсь утром, и ничего, что имеет отношение к Paypal, действительно работает. Немного объясняю, что я использую, прежде чем я покажу вам фактический код и ошибку. Я использую Express Checkout и Paypal Adaptive Payments SDK.

У меня есть несколько "виртуальных" учетных записей, которые я сделал на developer.paypal.com, чтобы имитировать взаимодействие посредника (владельца) и покупателя, поскольку у меня есть сценарий, когда владелец дает деньги пользователю и наоборот. В любом случае оба они отлично работали, и теперь они оба бросают эту ошибку (в SDK Adaptive Payments, это говорит мне, в какой строке кода есть ошибка и в Express Checkout, так как это код, который делается через документацию, он не показывает, в каком файле ошибка, но это та же ошибка):

': 14077410: Подпрограммы SSL: SSL23_GET_SERVER_HELLO: предупреждение sslv3 отказ от рукопожатия

Теперь, после того как я увидел этот пост https://devblog.paypal.com/poodle-ssl-3-0-vulnerability/, что вы полностью отключили SSL, я понял, что проблема в том, что на самом деле. Вы хотите, чтобы ваши пользователи теперь использовали TLS, что совершенно нормально. Я triple проверил, что мой сервер имеет TLS включен, и он делает, и я изменил (уже более миллиона раз) свои настройки конфигурации, чтобы использовать этот TLS в cURL (поскольку я использую PHP), делая что-то вроде:

curl_setopt($ch, CURLOPT_SSLVERSION, 1); (как это выглядит в Express Checkout, а в Adaptive Payments это просто ассоциативный массив, но в обоих случаях это одно и то же)

Я также нашел где-то и в ваших советах фактическое обновление моих учетных данных api. Я это сделал. Я пошел в paypal.com → API, а затем щелкнул обновление, которое сработало, но потом я заметил, что на моей учетной записи developer.paypal.com, где у меня есть несколько виртуальных учетных записей, ничего не изменилось. Должен ли я обновлять их вручную или что?

Edit:

Это было отправлено в поддержку Paypal, и я действительно торопился и больше не мог написать все, поэтому извините! Проблема является фиксированной благодаря тому, кто на самом деле потратил время на ее чтение.

Проблема была исправлена ​​с добавлением CURLOPT_SSL_CIPHER_LIST => 'TLSv1' в файл PPHttpConfig.php!:)

4 ответа

Попробуйте добавить

CURLOPT_SSL_CIPHER_LIST => 'TLSv1'

в ваш PPHttpConfig.php файл. У меня была такая же проблема с тобой и потратил несколько часов, чтобы найти решение. Это сработало для меня.


Одной из причин этой ошибки является более ранняя версия PHP и OPENSSL, например. PHP 5.3.5 вызовет эту ошибку.

Решение, обновите PHP (recomended >= 7).


Это происходит при поиске Magento Error: 14077410: SSL-процедуры: SSL23_GET_SERVER_HELLO: sslv3 Отказ от подтверждения подачи сообщения! Если вы пытаетесь решить это, вот ссылка на парня, который первоначально решил проблему вместе с загружаемым патчем: https://www.dwdonline.com/blog/fix-magento-error14077410ssl-routinesssl23_get_server_hellosslv3-alert-handshake-failure.html Это такая же ошибка - только в другом программном пакете.


У меня была такая же проблема.

Мой сервер - старая версия Ubuntu 12.04

licensed under cc by-sa 3.0 with attribution.