2

openssl.cnfENV 変数または構成ファイルを設定することにより、OpenSSL を使用するプログラムに対して SSLv3 または TLSv1 を強制できますか? OpenSSL 1.0.1c バージョンが最初に TLSv1.2 のネゴシエーションを開始し、特定の API (つまり、Shopify API) への接続に問題があることがわかりました。で失敗しSSL protocol errorます。

この問題は、私の OpenSSL 1.0.1c に対してリンクされたすべての SW に共通しており、バージョン <1.0 はうまく機能します。私の場合、OSX バンドル 0.9.8r です。また、Ubuntu の 1.0.1c は OK であることがわかりました...これは圧倒されます。

テスト:

curl https://ApiKey:Passwd@shop.myshopify.com/admin/customers.json

ちょうど 1 分後に失敗します。とUnknown SSL protocol error

curl -1 https://ApiKey:Passwd@shop.myshopify.com/admin/customers.json

即合格OK。

したがって、デフォルトのネゴシエーションは正常に機能しません。SSLv3 または TLSv1 (TLSv1.1+ ではない) を強制する必要がありますが、すべてのライブラリまたはユーティリティを書き直すつもりはありません。

私は Python を使用する予定で、現在は PyCURL を使用して SSLv3 または TLSv1 を強制するだけで通信できます。その SSL デフォルト ネゴシエーションの問題が原因で、元の ShopifyAPI ライブラリを使用できません。

4

2 に答える 2