Fehler: 14094410: SSL-Routinen: SSL3_READ_BYTES: sslv3-Alarm-Handshake-Fehler (35)

9

Wir haben Online-Shopping-Site. Wenn ich zur Checkout-Seite gehe, wird folgende Fehlermeldung angezeigt: "Fehler: 14094410: SSL-Routinen: SSL3_READ_BYTES: SSL3-Alarm-Handshake-Fehler (35)"

Aus dem Apache-Fehlerprotokoll kann ich einige Versuche sehen, eine Verbindung zu api.paypal.com herzustellen. Hier ist der Teil meines Apache-Fehlerprotokolls

* 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

Als ich versuchte, mit curl eine Verbindung zu api.paypal.com herzustellen, wird eine solche Fehlermeldung angezeigt

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
quelle

Antworten:

3

openssl s_clienterklärt besser, was hier vor sich geht, da es angibt, ob diese Nachrichten empfangen oder gesendet werden. api.paypal.com fordert ein bestimmtes Client-Zertifikat an (dies ist die * SSLv3, TLS handshake, Request CERT (13)Linie, die gerade gewalzt wird) und Sie senden das falsche (oder kein) Zertifikat, sodass Ihre Verbindung fehlschlägt:

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:

Wenn Sie nach Paypal-API-Informationen suchen, müssen Sie anscheinend ein Client-Zertifikat für die API anfordern . Sie haben auch eine Benutzername / Passwort "Signatur" Option, aber diese Option verwendet einen völlig anderen Server . Wenn Sie diese haben, ist die Konfiguration Ihrer Warenkorbsoftware für deren Verwendung ein Problem, das Sie mit dem Warenkorbentwickler besprechen müssen. Wenn Sie sind die Entwickler und ein Zertifikat haben, finden Sie in den --cert, --cert-Typen, --key und --key-Typ Flags curldas CERT und die privaten Schlüssel curl Anwendungen zu konfigurieren.

DerfK
quelle
Danke für Ihre Antwort. Das Problem wurde jetzt behoben. Das Problem war, dass einer unserer Entwickler den Paypal-API-Endpunkt fälschlicherweise als api.paypal.com konfiguriert hat. Es sollte api-3t.paypal.com sein, um richtig zu funktionieren.
ArunS
1
Beachten Sie, dass diese Antworten veraltet sind. SSLv3 wird aufgrund der POODLE-Sicherheitsanfälligkeit nicht unterstützt. Die Verwendung kann zu einem solchen Fehler führen. Siehe diese StackOverflow Antwort
Tomwhipple
-1

Ich treffe dieselbe Frage.

Weil ich in Centos keinen 443 Port öffne.

Sie checken also den 443-Port aus!

sudo losf -i tcp: 443

Auflösungsmethode:

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

Fügen Sie in der ersten Zeile zwei Zeilen hinzu:

LoadModule ssl_module modules/mod_ssl.so
Listen 443

Du kannst es versuchen!

Liebe
quelle