galat: 14094410: Rutinitas SSL: SSL3_READ_BYTES: kegagalan handshake sslv3 waspada (35)

9

Kami memiliki situs belanja online. Ketika saya akan checkout halaman saya mendapatkan kesalahan seperti ini "error: 14094410: rutinitas SSL: SSL3_READ_BYTES: sslv3 kegagalan handshake waspada (35)"

Dari log kesalahan apache saya dapat melihat beberapa upaya untuk terhubung ke api.paypal.com. Ini adalah bagian dari log kesalahan apache saya

* 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

Ketika saya mencoba untuk terhubung ke api.paypal.com menggunakan curl saya mendapatkan kesalahan seperti ini

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
ArunS
sumber

Jawaban:

3

openssl s_clientmelakukan pekerjaan yang lebih baik untuk menjelaskan apa yang terjadi di sini karena memberikan apakah itu menerima atau mengirim pesan-pesan ini. api.paypal.com meminta sertifikat klien tertentu (ini adalah * SSLv3, TLS handshake, Request CERT (13)ikal garis yang sedang dicetak) dan Anda mengirim sertifikat yang salah (atau tidak sama sekali), sehingga koneksi Anda gagal:

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:

Googling untuk info paypal api, tampaknya Anda harus meminta sertifikat klien untuk API . Mereka juga memiliki opsi "tanda tangan" nama pengguna / kata sandi, tetapi opsi ini menggunakan server yang sama sekali berbeda . Jika Anda memiliki ini, maka mengonfigurasi perangkat lunak keranjang Anda untuk menggunakannya adalah masalah yang harus diambil dengan pengembang keranjang. Jika Anda adalah pengembang dan Anda memiliki sertifikat, lihat flag --cert, --cert-type, --key, dan --key-type curluntuk mengonfigurasi penggunaan ikal kunci pribadi dan sertifikat.

DerfK
sumber
Terima kasih atas balasannya. Masalahnya telah diatasi sekarang. Masalahnya adalah salah satu pengembang kami salah mengonfigurasi titik akhir API Paypal sebagai api.paypal.com. Seharusnya api-3t.paypal.com berfungsi dengan benar.
ArunS
1
Perhatikan bahwa jawaban ini sudah usang. SSLv3 tidak didukung karena kerentanan POODLE. Menggunakannya dapat menghasilkan kesalahan seperti ini. Lihat jawaban StackOverflow ini
tomwhipple
-1

Saya memenuhi pertanyaan yang sama.

Karena saya tidak membuka port 443 di Centos.

Jadi Anda checkout port 443!

sudo losf -i tcp: 443

Metode penyelesaian:

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

di baris pertama tambahkan dua baris:

LoadModule ssl_module modules/mod_ssl.so
Listen 443

Kamu bisa mencobanya!

Cinta
sumber