Ошибка 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, где у меня есть несколько виртуальных учетных записей, ничего не изменилось. Должен ли я обновлять их вручную или что?

Редактировать:

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

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

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

 CURLOPT_SSL_CIPHER_LIST => 'TLSv1' 

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

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

Решение, обновите PHP (рекомендуется> = 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

  1. Проверьте сертификаты echo "All certificates in ca-certificates.crt, listed by subject, check for presence of VeriSign's 'Class 3 Public Primary - G5':" awk -v cmd='openssl x509 -noout -subject' '/BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep "G5" echo "All certificates in ca-certificates.crt, listed by subject, check for presence of VeriSign's 'Class 3 Public Primary - G5':" awk -v cmd='openssl x509 -noout -subject' '/BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep "G5"

  2. Я обновил openssl.

    sudo apt-get install openssl

  3. Я мог бы обновить завиток только этой инструкцией. http://pavelpolyakov.com/2014/11/17/updating-php-curl-on-ubuntu/ curl 7.47.1 версия

  4. И я обновил libcurl. http://juniway.blogspot.com/2015/12/curl-48-unknown-option-was-passed-in-to.html