0

我有一个基于 Java Web-Start 的应用程序,它利用了几个本机“.exe”实用程序。所有 jar 都已签名,并且应用程序从用户那里获得所有可能的权限(<security><all-permissions/></security>在 .jnlp 描述符中)。问题是其中一个“.exe”实用程序试图打开并侦听某个端口,这会导致标准 Windows 防火墙窗口弹出。例子:

例子
(来源:7tutorials.com

在用户同意在 JNLP 启动期间授予我的应用不受限制的权限后,我希望用户不要看到任何此类消息。据我所知,以编程方式添加防火墙规则既可以使用netsh 工具,也可以通过修改注册表来执行,这两者都需要管理员权限。

我尝试使用Elevation PowerToys,从 Java 调用它们,但它们弹出另一条消息,明确请求管理员权限。

问题:有什么方法可以将我的“.exe”实用程序的规则添加到 Windows 防火墙中,而不会因额外的权限请求而激怒用户?

4

1 回答 1

1

您在这里混合了安全域 - java 安全模型,以及您授予由 jnlp 执行的应用程序的权限与 Windows 理解的权限是分开的。启动的标准 jnlp 应用程序作为普通应用程序运行,没有提升。

我认为不要求提升是不可能的;你似乎已经很好地处理了这一点。

于 2012-06-26T15:47:13.323 回答