помилка: 14094410: підпрограми SSL: SSL3_READ_BYTES: sslv3 попередження про несправність рукостискання (35)


9

У нас є інтернет-магазин для покупок. Коли я збираюся перевірити сторінку, я отримую помилку на кшталт цієї "помилка: 14094410: SSL підпрограми: SSL3_READ_BYTES: sslv3 попередження про помилку рукостискання (35)"

З журналу помилок apache я бачу деякі спроби підключення до api.paypal.com. Ось частина мого журналу помилок apache

* About to connect() to api.paypal.com port 443 (#0)
*   Trying 66.211.168.123... * connected
* Connected to api.paypal.com (66.211.168.123) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
* Closing connection #0

Коли я намагався підключитися до api.paypal.com за допомогою curl, я отримую подібну помилку

curl -iv https://api.paypal.com/
* About to connect() to api.paypal.com port 443 (#0)
*   Trying 66.211.168.91... connected
* Connected to api.paypal.com (66.211.168.91) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Request CERT (13):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS alert, Server hello (2):
* error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
* Closing connection #0
curl: (35) error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

Відповіді:


3

openssl s_clientкраще роз’яснює, що тут відбувається, оскільки він дає можливість отримувати або надсилати ці повідомлення. api.paypal.com запитує певний сертифікат клієнта (це * SSLv3, TLS handshake, Request CERT (13)друк закрутки рядків), і ви надсилаєте неправильний (або ні) сертифікат, тому ваше з'єднання не вдається:

SSL_connect:before/connect initialization
SSL_connect:SSLv2/v3 write client hello A
SSL_connect:SSLv3 read server hello A
SSL_connect:SSLv3 read server certificate A
SSL_connect:SSLv3 read server certificate request A
SSL_connect:SSLv3 read server done A
SSL_connect:SSLv3 write client certificate A
SSL_connect:SSLv3 write client key exchange A
SSL_connect:SSLv3 write change cipher spec A
SSL_connect:SSLv3 write finished A
SSL_connect:SSLv3 flush data
SSL3 alert read:fatal:handshake failure
SSL_connect:failed in SSLv3 read finished A
6016:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1086:SSL alert number 40
6016:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:188:

Переглядаючи інформацію про paypal api, виявляється, що вам потрібно буде попросити сертифікат клієнта для API . Вони також мають опцію "підпис" ім'я користувача / пароля, але цей параметр використовує зовсім інший сервер . Якщо у вас є такі, то налаштування програмного забезпечення для кошика для їх використання - це проблема, з якою можна вирішити розробник кошика. Якщо ви перебуваєте розробник і у вас є сертифікат, см --cert, --cert типу, --key і прапори --key типу для curlдля настройки сертифіката й секретного ключа згортання використання.


Дякую за відповідь Питання вирішено зараз. Проблема полягала в тому, що наш розробник помилково налаштував кінцеву точку API Paypal як api.paypal.com. Для коректної роботи має бути api-3t.paypal.com.
ArunS

1
Зауважте, що ці відповіді застаріли. SSLv3 не підтримується через вразливість POODLE. Використання його може призвести до такої помилки. Дивіться цю відповідь StackOverflow
tomwhipple

-1

Я зустрічаю це саме питання.

Тому що я не відкриваю 443 порт у Centos.

Отже, ви оформили порт 443!

sudo losf -i tcp: 443

Метод вирішення:

cd /etc/httpd/conf.d vim ssl.conf

у перший рядок додайте два рядки:

LoadModule ssl_module modules/mod_ssl.so
Listen 443

Можна спробувати!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.