带有Java7的JRuby通过代理搞砸了HTTPS数据

时间:2013-01-17 16:39:47

标签: ruby-on-rails https proxy jruby java-7

我正在尝试在我们的jruby(1.6.8 / 1.7.2)rails(3.2.11)项目中使用库restclient(1.6.7)和jrubyopenssl(0.7.3)。它曾经与Java 6很好地协同工作。现在,随着我更新到Java 7,它停止了工作。我想,所有这些事情都需要完成以重现错误:

  • POST数据
  • 通过HTTPS
  • 跨代理
  • with Java 7

通信似乎搞砸了,连接的服务器无法解码请求中的数据(甚至是完整的请求)。 我知道,复制并不容易。也许有人知道,如果Java 7的实现在HTTPS加密方面发生了变化,以及如何解决这个问题。

代码:

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

非常感谢!!

1 个答案:

答案 0 :(得分:1)

我有一些像这样的“时髦”问题,它来自java 6到7。

我的主要区别是“”新“”“首选加密模式。现在它是椭圆曲线和AES。但我之前的整个筹码运作良好,压力巨大。 我决定'降级我的加密算法'并禁用ECC和AES。 - >火焰战将来临,我不会解释原因。

到目前为止一切顺利。

这是一个很大的变化,包的“大小”改变,握手改变等等。

看看这些: [1] - http://www.oracle.com/technetwork/java/javase/jdk7-relnotes-418459.html#knownissues --->安全会议......

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

我希望这些链接可以帮助您找到正确的方向。但我认为你应该禁用ecc和aes并使用其他方法(RSA?)