erreur: 14094410: routines SSL: SSL3_READ_BYTES: échec de la négociation de l'alerte sslv3 (35)

9

Nous avons un site d'achat en ligne. Lorsque je vais à la page de paiement, j'obtiens une erreur comme celle-ci "erreur: 14094410: routines SSL: SSL3_READ_BYTES: échec de la négociation de l'alerte sslv3 (35)"

Depuis le journal des erreurs apache, je peux voir quelques tentatives de connexion à api.paypal.com. Voici la partie de mon journal d'erreurs 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

Quand j'ai essayé de me connecter à api.paypal.com en utilisant curl, je reçois une erreur comme celle-ci

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
la source

Réponses:

3

openssl s_clientfait un meilleur travail d'expliquer ce qui se passe ici car il donne s'il reçoit ou envoie ces messages. api.paypal.com demande un certificat client spécifique (c'est la * SSLv3, TLS handshake, Request CERT (13)ligne en cours d'impression) et vous envoyez le mauvais certificat (ou non), donc votre connexion échoue:

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:

En cherchant des informations sur l'API paypal, il semble que vous devrez demander un certificat client pour l'API . Ils ont également une option "signature" de nom d'utilisateur / mot de passe, mais cette option utilise un serveur complètement différent . Si vous en avez, la configuration de votre logiciel de panier pour les utiliser est un problème à aborder avec le développeur du panier. Si vous êtes le développeur et que vous avez un certificat, consultez les indicateurs --cert, --cert-type, --key et --key-type curlpour configurer les utilisations de boucle et de clé privée cert.

DerfK
la source
Merci pour la réponse. Le problème est maintenant résolu. Le problème était dû au fait que notre développeur avait mal configuré le point de terminaison de l'API Paypal en tant qu'api.paypal.com. Il devrait être api-3t.paypal.com pour fonctionner correctement.
ArunS
1
Notez que ces réponses sont obsolètes. SSLv3 n'est pas pris en charge en raison de la vulnérabilité POODLE. Son utilisation pourrait générer une erreur comme celle-ci. Voir cette réponse StackOverflow
tomwhipple
-1

Je rencontre cette même question.

Parce que je n'ouvre pas le port 443 dans Centos.

Vous passez donc à la caisse du port 443!

sudo losf -i tcp: 443

Méthode de résolution:

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

dans la première ligne, ajoutez deux lignes:

LoadModule ssl_module modules/mod_ssl.so
Listen 443

Tu peux l'essayer!

Amour
la source