エラー:14094410:SSLルーチン:SSL3_READ_BYTES:sslv3アラートハンドシェイクエラー(35)


9

オンラインショッピングサイトがあります。ページをチェックアウトしようとすると、「error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure(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

回答:


3

openssl s_clientこれらのメッセージを受信して​​いるか送信しているかがわかるので、ここで何が行われているのかを説明するのに優れています。api.paypal.comが特定のクライアント証明書(これは* SSLv3, TLS handshake, Request CERT (13)curlが印刷している行です)を要求しており、間違った(またはない)証明書を送信しているため、接続が失敗します。

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証明書と秘密鍵カールの用途を設定します。


返信してくれてありがとう。この問題は現在解決されています。この問題は、デベロッパーの1人がPaypal APIエンドポイントをapi.paypal.comとして誤って設定したことです。正しく動作するには、api-3t.paypal.comである必要があります。
ArunS

1
これらの回答は時代遅れであることに注意してください。POODLEの脆弱性のため、SSLv3はサポートされていません。これを使用すると、このようなエラーが発生する可能性があります。このStackOverflowの回答を
tomwhipple

-1

私はこれと同じ質問に会います。

私はCentosで443ポートを開かないので。

したがって、443ポートをチェックアウトします。

sudo losf -i tcp:443

解決方法:

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

最初の行に2行を追加します。

LoadModule ssl_module modules/mod_ssl.so
Listen 443

あなたはそれを試すことができます!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.