Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有Java 1.8.0_271-b09客户端的ActiveMQ SSLException_Java_Ssl_Activemq - Fatal编程技术网

带有Java 1.8.0_271-b09客户端的ActiveMQ SSLException

带有Java 1.8.0_271-b09客户端的ActiveMQ SSLException,java,ssl,activemq,Java,Ssl,Activemq,我正在使用SSL授权(通过信任存储)运行ActiveMQ服务器 客户端是用Spring Boot和Camel编写的。每个客户端都有各自的证书 当客户端的Java版本更新为版本1.8_271时,SSL连接突然失败。这可以在ActiveMQ日志中找到: javax.net.ssl.SSLException:收到致命警报:意外的\u消息 降级至1.8.0_261后,一切恢复正常 这就是它变得非常奇怪的地方:我的ActiveMQ信任库目前包含232个证书。当我删除其中两个(不管是哪一个)时,与1.8_2

我正在使用SSL授权(通过信任存储)运行ActiveMQ服务器

客户端是用Spring Boot和Camel编写的。每个客户端都有各自的证书

客户端的Java版本更新为版本
1.8_271
时,SSL连接突然失败。这可以在ActiveMQ日志中找到:

javax.net.ssl.SSLException:收到致命警报:意外的\u消息

降级至
1.8.0_261
后,一切恢复正常

这就是它变得非常奇怪的地方:我的ActiveMQ信任库目前包含232个证书。当我删除其中两个(不管是哪一个)时,与
1.8_271
客户端的连接将再次工作

这对我来说真的毫无意义。服务器信任库中的项目数与客户端的Java版本有什么关系

一些更新:

  • 我正在用计算机进行测试
  • 将密钥存储类型从本机JKS更改为PKCS#12并没有什么区别
  • 在服务器端使用Java
    1.8_271
    的行为相同,但显示不同的错误消息: java.net.SocketException:连接或出站已关闭

来自

改进证书链处理
添加了一个新的系统属性jdk.tls.maxHandshakeMessageSize,以设置tls/DTLS握手中握手消息允许的最大大小。系统属性的默认值为32768(32KB)


如果服务器请求客户端身份验证,1.3以下的JSSE(edit)会发送一条CertificateRequest消息,指定从信任库中的证书派生的可接受CA名称,因此信任库中的证书数量会影响此消息的大小,并可能使其超出限制,在这种情况下,客户端会拒绝此消息(虽然我不确定我是否喜欢在这种情况下使用意外的_消息)。

非常感谢。我刚刚得出了相同的结论(消息太大,因为握手中有可接受的客户端证书CA名称);)我想知道是否有可能禁用此功能。在TLS 1.3中,此信息似乎不再交换。它是一个系统属性;根据您的应用程序和环境,通常有多种方法设置系统属性。1.3协议仍然允许这个列表,但您是对的,JSSE不再发送它;我不知道为什么。如果我有时间,我将下载源代码并查看。