错误: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

当我尝试使用curl连接到api.paypal.com时,出现了这样的错误

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

Answers:


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-type,--key和--key-type标志,curl以配置cert和private key curl使用。


感谢您的答复。该问题现已解决。问题是我们的开发人员之一错误地将Paypal API端点配置为api.paypal.com。要正常工作,应该是api-3t.paypal.com。
2011年

1
请注意,这些答案已过时。由于POODLE漏洞,不支持SSLv3。使用它可能会产生这样的错误。看到这个StackOverflow的答案
tomwhipple

-1

我遇到同样的问题。

因为我没有在Centos中打开443端口。

因此,您检出443端口!

须藤losf -i tcp:443

解决方法:

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

在第一行中添加两行:

LoadModule ssl_module modules/mod_ssl.so
Listen 443

你可以尝试一下!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.