3

jruby (1.6.8/1.7.2) rails (3.2.11) プロジェクトでライブラリ restclient (1.6.7) と jrubyopenssl (0.7.3) を使用しようとしています。以前は Java 6 で非常にうまく動作していましたが、Java 7 に更新すると動作しなくなりました。エラーを再現するには、これらすべてを満たす必要があることがわかりました。

  • 投稿データ
  • HTTPS経由
  • プロキシ経由
  • Java 7 で

通信が台無しになっているようです。接続されたサーバーは、リクエスト内のデータ (または完全なリクエストでさえ) をデコードできません。再現するのは簡単ではないことはわかっています。Java 7 の実装が HTTPS 暗号化に関して変更され、それを修正する方法が変更された場合、誰かが知っているかもしれません。

コード:

RestClient.proxy = ENV['https_proxy']
RestClient.post 'https://server.com/path', data,  { 'Content-type' => 'application/json' }

どうもありがとう!!

4

1 に答える 1

1

私はそのような「ファンキーな」問題をいくつか抱えていました.それはJava 6から7まででした.

私にとっての主な違いは、"""新しい""" 優先暗号化モードでした。今は楕円曲線とAESです。しかし、以前はスタック全体がうまく機能していましたが、プレッシャーは大きかったです。「暗号アルゴリズムをダウングレード」し、ECC と AES を無効にすることにしました。--> 炎上戦争がやってくるが、その理由は説明しない。

ここまでは順調ですね。

そして、これは大きな変化であり、パケットの「サイズ」の変化、ハンドシェイクの変化などです。

これらを見てください: [1] - http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html#knownissues ---> Security SESSION...

[2] - http://docs.oracle.com/javase/7/docs/technotes/guides/security/enhancements-7.html --> 再び同じ..

これらのリンクがあなたを正しい方向に導いてくれることを願っています。しかし、ecc と aes を無効にして、他の手段 (RSA?) を使用する必要があると思います。

于 2013-03-18T05:02:18.007 に答える