当前位置: 首页 > 知识库问答 >
问题:

Java7和Java8之间的SSL不兼容?

瞿健
2023-03-14

我们有一个运行在java 7上的服务器端进程:java-version:java version“1.7.0”java(TM)SE运行时环境(build 1.7.0-b147)java HotSpot(TM)64位服务器VM(build 21.0-b17,混合模式)

它接受来自我们自己开发的java应用程序(通过正确签名的JNLP启动)的SSL连接。

通常情况下,不管客户机应用程序是运行在Java6还是Java7JVM中,这就像一个梦。

但是,当使用Java 8(从MAC)启动相同的客户端应用程序时,我们遇到一个SSL问题,其中服务器中断了连接(我们通过wireshark进行了检查以确认),但有以下例外:javax.net.sslexception(alerts.Java:208)在sun.security.SSL.SSL.sslengineimpl.fatal(sslengineimpl.Java:1605)在sun.security.SSL.SSL.sslengineimpl.fatal(sslengineimpl.fatal(sslengineimpl.Java:1573)在

...

基于此,错误就具体模糊了……https://security.stackexchange.com/questions/39844/getting-ssl-alert-write-fatall-bad-record-mac-dider-openssl-handshake

Mac上的JVM版本:Java 8 Update 45

我尝试过的事情:

  • 将其添加到JNLP(从https://bugs.openjdk.java.net/browse/jdk-8030806):
  • 限制服务器上允许/不允许的密码:
  • 令人惊讶的是,当使用JDK1.6.0_20在本地运行服务器进程时,该错误不会发生,并且一切正常。

让我知道哪些额外信息将有助于找到此问题的原因/解决方法。

共有1个答案

子车雅珺
2023-03-14

将服务器的JDK升级到最新的java7版本似乎已经解决了这个问题。

 类似资料:
  • 我在windows 7机器上安装了JDK 1.7,在安装JDK 1.8 u20后,出现以下错误: 我的变量指向旧版本(即1.7)。 这里出了什么问题,我如何使用java 8和java 7?

  • 最近,在使用HttpClient访问Java应用程序中的第三方服务(CURL服务)时,我遇到了如下问题: 我在JDK7中遇到了这个问题。通过对这一问题的研究,我提出了两点建议。 在JDK7TrustStore中添加该特定第三方的证书。[我试过了,但还是遇到了同样的问题] 使用JDK 8而不是JDK 7[我试过了,它对我有效] 单丹

  • 鉴于这段代码: 这部分: 可以重写为: 我从一本书的示例中提取了这段代码,并说这两种解决方案不同,但我不理解为什么。

  • 问题内容: 我找到了很多示例,这些示例如何使用C#进行加密,还有一些Android实例,但是我特别想寻找一种方法来处理来自Android的加密(使用诸如AES,TripleDES等技术),并最终解决。在C#中被解密。我找到了一个在Android中编码AES和在C#中[编码/解码AES](http://codingdict.com/questions/110318的示例,但是不确定它们是否兼容(C#

  • 问题内容: 我正在使用以下示例在Node.js中进行签名和验证:https : //github.com/nodejs/node-v0.x-archive/issues/6904。验证在Node.js中成功,但在WebCrypto中失败。同样,使用WebCrypto签名的消息无法在Node.js中验证。 这是我用来验证使用WebCrypto- https: //jsfiddle.net/aj49e

  • 问题内容: 我正在尝试使用此程序加载在Python 3.2中链接到此处的MNIST数据集: 不幸的是,它给了我错误: 然后,我尝试在Python 2.7中解码腌制的文件,然后重新编码。因此,我在Python 2.7中运行了该程序: 它运行无误,因此我在Python 3.2中重新运行了该程序: 但是,它给了我与以前相同的错误。我该如何工作? 这是加载MNIST数据集的更好方法。 问题答案: 这似乎有