我有一个非常特殊的问题,可能不适用于很多用户 - 抱歉!
我们运行一些气候控制设备,这些设备提供使用 java 的基于 Web 的管理前端。 这些设备已有几年历史,对它们的支持已过期。 运行浏览器(firefox 31.3.0)的系统是CentOS 6.5 Kernel 2.6.32 x86_64 整个网络都是私有(private)的。该浏览器专门用于管理气候 Controller 。 我们不得不在前一段时间更新到这个操作系统版本,它随 Java 1.7.0_71 一起提供。 (之前安装了Java 1.6)
现在每次打开其中一个设备的管理页面时,都会弹出一个安全警告,询问是否应该执行该应用程序。 也 ist 说不安全的小程序将来会被完全阻止。
我设法通过在 Java ControlPanel 中将安全级别设置得尽可能低来摆脱其他一些非常烦人的对话框,但我发现没有办法完全禁用 Java 安全。
目前剩下的唯一方法似乎是降级回 Java 1.6
有没有办法完全禁用java安全功能? 我知道这是不安全的、不专业的,而且是一件非常非常糟糕的事情。 但正如我所说:一个完全私有(private)的网络和气候 Controller 的管理页面是该系统上的 Firefox 唯一能看到的页面。
即使是非常肮脏的 hack 也会受到欢迎!
谢谢!
最佳答案
只需安装旧版本的 Java。
您可以使用 Java Rule Set控制哪些主机运行 V 1.6 等。这将允许您拥有 1.7,其安全性仍然完好无损,而 1.6 处于您需要的任何状态。
这实际上会给您一些体面的保证,即只有某些站点可以运行旧版本。不过,您必须在这个 jar 上签名。不过,您可以生成证书并将其安装到 java 中,没问题。
你会得到一些像这样的规则:
<rule>
<id location="https://java.com/" />
<action permission="run" version="SECURE" />
</rule>
<rule>
<id location="http://climate.example.com/" />
<action permission="run" version="1.6.0_31" />
</rule>
See here for the above example
我会推荐这个以防将来。如果有人插入这个设备,或者任何其他人必须支持应用程序而不知道你让 Java 处于易受攻击的状态,你可能会遇到一些严重的安全问题。这将创建一个更强大的设计模式,人们将拥有一个可供他们使用的安全 Java。
关于java - 完全禁用 Java 安全机制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37066727/