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 ---> 安全会话...

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

我希望这些链接能让你走上正确的方向。但我认为你应该禁用 ecc 和 aes 并使用其他方式(RSA?)

于 2013-03-18T05:02:18.007 回答