我有一个基于Java Web-Start的应用程序,它使用多个本机“.exe”实用程序。所有罐子都已签名,应用程序从用户处获得所有可能的权限(.jnlp描述符中的<security><all-permissions/></security>
)。问题是这些“.exe”实用程序中的一个尝试打开并侦听某个端口,这会导致标准Windows防火墙窗口弹出。例如:从Java Web Start(JNLP)修改Windows防火墙规则
Example http://www.7tutorials.com/files/img/win_firewall/wf3.jpg
我希望用户不被带有那种任何消息后,他们同意给我的应用程序的JNLP启动期间不受限制的权限。据我所知,以编程方式添加防火墙规则可以使用netsh tool执行,也可以通过与注册表混合执行,两者都需要管理员权限。
我试图玩Elevation PowerToys,从Java调用它们,但他们弹出另一条消息,明确要求管理员权限。
问:是否有任何方法可以将我的“.exe”实用程序的规则添加到Windows防火墙中,而不会通过其他权限请求刺激用户?
谢谢你的回答。我理解安全域之间的区别,但只是希望可能将管理权限请求集成到最初的“您信任该应用程序吗?”中。 JNLP对话框。显然没有。 –
不幸的是,不,这是不可能的。 java安全对话框未连接到Windows安全对话框。一次完成所有任务的唯一方法就是如果从Java中'您信任该应用程序'对话框被提升了 – Petesh