简体   繁体   English

如何使用TLS1.0 / TLS1.1强制加载Java Applet

[英]How to force Java applet to load using TLS1.0 / TLS1.1

I have an web application from which multiple users loads a Java applet. 我有一个Web应用程序,多个用户可从中加载Java小程序。 Now there is a problem that the loadbalancer does not support TLS1.2 which is the default for Java8 and it seems that Java8 does not automatically try lower version. 现在存在一个问题,即负载均衡器不支持TLS1.2(这是Java8的默认值),并且似乎Java8不会自动尝试使用较低版本。

How can I force the applet to be loaded using TLS 1.0/1.1? 如何强制使用TLS 1.0 / 1.1加载小程序? I have tried to put this into the <applet>: 我试图将其放入<applet>中:

<PARAM name="java_arguments" value="-Dhttps.protocols=TLSv1">

Any help is appreciated, not very keen on solution where hundreds of users need to configure their Java clients. 感谢任何帮助,而不是非常热衷于数百个用户需要配置其Java客户端的解决方案。

This the starting point from which this question was brought up: Java applet not loading on Java8/HTTPS 这是提出此问题的出发点: Java applet未在Java8 / HTTPS上加载

I have an web application from which multiple users loads a Java applet... How can I force the applet to be loaded using TLS 1.0/1.1? 我有一个Web应用程序,多个用户可以从该Web应用程序加载Java小程序。如何强制使用TLS 1.0 / 1.1加载小程序?

The applet is loaded by the browser, not by Java. 小程序由浏览器而不是Java加载。 So it does not help to make any Java related settings here. 因此,在此处进行任何与Java相关的设置无济于事。 These settings are only relevant if the applet itself communicates with the server. 仅当applet本身与服务器通信时,这些设置才有意义。 Edit: The download is done by the Java plugin. 编辑:下载是通过Java插件完成的。 This does not affect the rest of the answer ie that the problem must be fixed at the load balancer. 这不会影响其余的答案,即问题必须在负载均衡器中解决。

Now there is a problem that the loadbalancer does not support TLS1.2 现在存在一个问题,即负载均衡器不支持TLS1.2

Unless the load balancer is broken it will negotiate to a lower protocol version. 除非负载平衡器损坏,否则它将协商为较低的协议版本。 It is inherent behavior of TLS that both parties agree to the best version both support. 双方同意最好的版本是TLS的固有行为。 But, there are broken load balancers out there which simply do not understand TLS1.2 or behave strange when confronted with larger packets which are more likely with TLS1.2 (older F5, long fixed). 但是,那里的负载均衡器坏了,它们根本不了解TLS1.2或在遇到更大的数据包时表现得很奇怪,而更大的数据包更可能使用TLS1.2(较旧的F5,长期固定)。

Unfortunately, if this happens to be such an old broken F5 you might be out of luck because a bug in these load balancers caused the packet to be dropped, so that the connection would stay open until timeout. 不幸的是,如果F5太老了,那么您可能不走运,因为这些负载平衡器中的错误导致数据包被丢弃,因此连接将保持打开状态直到超时。 In this case most browsers do not downgrade to a lower TLS version, because they only downgrade on immediate errors like a connection close from the peer. 在这种情况下,大多数浏览器不会降级到较低的TLS版本,因为它们仅在遇到即时错误(例如与对等方关闭的连接)时降级。 All you can do in this case is to fix the broken load balancer. 在这种情况下,您所能做的就是修复损坏的负载均衡器。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM