web-dev-qa-db-ja.com

SSLエラーはTLSに変更できません

私はかなり長い間、Paypalが適切に機能することに大きく依存しているWebサイトで作業してきました。それがなければ、それは本当に役に立たない。

午前1時頃(私はCETタイムゾーンにいます)、すべてが完全に機能し、コードと関数を磨き上げ、正常に機能していました。寝る前に、すべてが正常に機能することを3回チェックしました。

私は朝起きて、Paypalとは何の関係もありません。実際のコードとエラーを示す前に、私が使用しているものについて少し説明します。 Express Checkoutと Paypal Adaptive Payments SDK を使用しています。

ファシリテーター(所有者)と購入者のやり取りをシミュレートするために、developer.Paypal.comで作成した「仮想」アカウントがいくつかあります。これは、所有者がユーザーにお金を渡すシナリオとその逆のシナリオがあるためです。とにかく、両方とも完全に機能し、現在は両方ともこのエラーをスローします(Adaptive Payments SDKでは、コードのどの行が間違いであるかがわかります。ExpressCheckoutでは、ドキュメントを介して行われるコードであるため、どのファイルに表示されません。エラーはありますが、同じエラーです):

「エラー:14077410:SSLルーチン:SSL23_GET_SERVER_HELLO:sslv3アラートハンドシェイクの失敗」

この投稿を見た後、 https://devblog.Paypal.com/poodle-ssl-3-0-vulnerability/ SSLを完全に無効にしたところ、実際には問題があることに気づきました。ユーザーにTLSを使用してもらいたいのですが、これはまったく問題ありません。サーバーでTLSが有効になっていることをトリプルチェックし、有効になっていることを確認し、次のようにして(PHPを使用しているため)cURLでそのTLSを使用するように構成設定を変更しました(PHPを使用しているため)。

curl_setopt($ch, CURLOPT_SSLVERSION, 1);(これは、エクスプレスチェックアウトとアダプティブペイメントでは単なる連想配列ですが、どちらも実際には同じです)

また、API資格情報を実際に更新するためのアドバイスをどこかで見つけました。私はそれをしました。 Paypal.com-> APIにアクセスし、機能する更新をクリックしましたが、仮想アカウントがいくつかあるdeveloper.Paypal.comアカウントで何も変更されていないことに気付きました。それらを手動で更新する必要がありますか?

編集:

これはPaypalのサポートに送られました、そして私は本当に急いでいて、そしてすべてを再び書くことができなかったので、それについて申し訳ありません!問題は、実際にそれを読むのに時間をかけた人のおかげで修正されました

この問題は、PPHttpConfig.phpファイルにCURLOPT_SSL_CIPHER_LIST => 'TLSv1'を追加することで修正されました。 :)

8
Novarac23

追加してみてください

CURLOPT_SSL_CIPHER_LIST => 'TLSv1'

あなたのPPHttpConfig.phpファイル。私はあなたと同じ問題を抱えていて、解決策を見つけるために何時間も費やしました。これは私のために働いた。

18
Fang Cao

このエラーの理由の1つは、古いバージョンのPHPであり、たとえばPHP 5.3.5の場合はOPENSSLがこのエラーを引き起こします。

解決策、PHP(推奨> = 7)を更新します。

2
burgur

これは、Magentoエラー:14077410:SSLルーチン:SSL23_GET_SERVER_HELLO:sslv3アラートハンドシェイクの失敗を検索するときに発生します。それを解決しようとしている場合は、ダウンロード可能なパッチとともに問題を最初に解決した人へのリンクがあります: https://www.dwdonline.com/blog/fix-magento-error14077410ssl-routinesssl23_get_server_hellosslv3- alert-handshake-failure.html 同じエラーです-別のソフトウェアパッケージにあります。

0

私も同じ問題を抱えています。

私のサーバーはUbuntu12.04の古いバージョンです

  1. 証明書を確認してくださいecho "All certificates in ca-certificates.crt, listed by subject, check for presence of VeriSign's 'Class 3 Public Primary - G5':" awk -v cmd='openssl x509 -noout -subject' '/BEGIN/{close(cmd)};{print | cmd}' < /etc/ssl/certs/ca-certificates.crt | grep "G5"

  2. Opensslを更新しました。

    Sudo apt-get install openssl

  3. この指示だけでカールを更新できました。 http://pavelpolyakov.com/2014/11/17/updating-php-curl-on-ubuntu/ curl7.47.1バージョン

  4. そして、libcurlを更新しました。 http://juniway.blogspot.com/2015/12/curl-48-unknown-option-was-passed-in-to.html

0
Stas Glushko