2016-12-14 7 views
1

私はBraintree_ClientToken::generate()を使用してクライアントのトークンを生成しようとすると、Braintree_Exception_SSLCertificate例外を取り戻す続けます。 SDKがロードされていて、PHPのセットアップがSDKの最小要件を満たしているようです。私が実行しているPHPのcURLとのブレインPHP SDKのcURL例外

バージョンは次のとおりです。OpenSSL/1.0.1e

PHP 5.5.3

cURL 7.32.0。私のcURLモジュールでSSLが有効になっています。

私はので、私はそれが問題になるかもしれないと思ったが、私はブレインツリーSDKにHttp.phpに次の行を追加しようとしたブレインは、TLS 1.2を強制されて気づいた:

curl_setopt($curl, CURLOPT_SSLVERSION, 6); 

これはTLS 1.2を使用するようにカールを設定する必要がありますが、それは助けに見えていないと私は設定が有効になったことを確認する方法がわからない。

私はので、私はこれは私が間違ってやっているか、多分私が使用しているのcURLのバージョンは良くないものです心配してまだ成功したブレインのAPIへのリクエストを配置するために管理していません。私が見逃したSSLを有効にするために必要なことはありますか?

ありがとう、 Brad。

+0

と表示されていますか? – Basit

+0

いいえ、まだありません。私は自分のバージョンのカールやOpenSSLをアップデートしようとしていましたが、まだそれに慣れていません。おそらく今夜試してみよう。 –

+0

ああ、私もそれを試しています。 Braintreeはtls1.0に更新されています。古いものが動作しなくなった理由です。openssl 1.0.1以降を更新しなければなりません。 – Basit

答えて

3

全開示:私はブレーンツリーで働いています。ご不明な点がございましたら、supportまでお気軽にお問い合わせください。

libcurlのバージョンが7.40よりも大きくなければなりませんので、あなたが使用しているcURLのバージョンでは、あなたの問題になることがあります。 TLS 1.2のサポートがそのバージョン以降で追加されているので、このバージョンへのアップデートをお勧めします。

また、このgithub linkはあなたのPHPの統合がTLS 1.2と最新の状態にするためにブレインツリーが必要とするプロセスを説明します。あなたのcURLがTLS 1.2をインスタンス化するように設定されているかどうかをチェックする方法が必要だったので、これについて言及しています。これを行うには

の方法は、次のようになります。 php -r 'echo json_encode(curl_version(), JSON_PRETTY_PRINT);'

+0

リンクをありがとう、本当に役に立ちました。これは、1つのものをアップグレードするために別のもの(および別のもの)をアップグレードする必要があった古典的なスノーボール効果につながった。最後に、新しいPHP、新しいcURL、新しいものを意味するUbuntuの新しいバージョンにアップグレードしました。しかし、私は、cURLのバージョンが主要な問題であると確信しています。私は今cURL v7.47.0を使用しており、APIに接続してトランザクションを素早くスムーズに処理できるようになりました。驚くばかり!助けてくれてありがとう。 –

0

さて、私はヒマラヤに登ってきました。上記の解決策はまったく解決策ではありません。私はこの問題を解決するために何をしましたか? Centos 7マシンでは、yumの更新が役に立たないことがあります。唯一の解決策は、OpenSSLとCurlを手動で更新することです。

15ステップがあります。

最新のOpenSSLパッケージをダウンロードしてください。

wget https://www.openssl.org/source/openssl-1.0.2l.tar.gz 

解凍

tar -xzvf openssl-1.0.2l.tar.gz 

フォルダ

cd openssl-1.0.2l 

入力コンフィグ

./config --shared 

インストール

make && make install 

それは旅行の終わりではない、あなたもカールを更新する必要があります。カールの最新バージョンをダウンロードしてください。

wget https://curl.haxx.se/download/curl-7.55.1.tar.gz 

解凍

tar -xzvf curl-7.55.1.tar.gz 

フォルダ

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/ssl/lib 

コンフィグ

0 libにパスを設定し

cd curl-7.55.1 

を入力します。

それは

ln -s /usr/local/curl/bin/curl /usr/bin/curl 

最後に、

curl --version 
によって、あなたのカールバージョンを確認

make && make install 

バックアップビット

mv /usr/bin/curl /usr/bin/curl.bak 

リンクをインストールします。

これらすべての手順を正しく実行した場合は、

curl 7.55.1 (x86_64-pc-linux-gnu) libcurl/7.55.1 OpenSSL/1.0.2l