我正在开发非标准应用程序。基本上它是使用嵌入式Mozilla浏览器(mozilla-interfaces-1.9.2.12.jar,mozilla-glue-1.9.2.12.jar) 的SWT应用程序 ,它应显示包含小程序(由我自己开发)的html页面。 这些小程序已签名并且证书被导入到密钥库中。在标准独立Mozilla浏览器中运行 小程序时,一切正常。安全管理器SWT嵌入式运行在Java WebStart上的Mozilla浏览器问题(jnlp)
即使运行我的SWT应用程序正常(我的意思是作为一个独立的Java桌面应用程序 withou安全管理器)一切工作就好了 - 嵌入式浏览器出现,并可以显示HTML网页 与小程序。
但是,当我试图通过Java Web Start(jnlp)运行此应用程序时,我遇到了麻烦。 我想我的jnlp定义的很好,它包含了所有我能够通过互联网讨论找到的标签。 因此,有例如
<security>
<all-permissions/>
</security>
等 我的SWT应用程序,RESP。所有的jar文件都被签名(与小程序使用的相同的证书)。 它开始很好,它没有所有权限和签名都不允许的操作, 它甚至显示SWT窗口(因此SWT本身工作正常),但是当它应该显示嵌入式浏览器 我得到UnsatisfiedLinkException。有趣的是,当我使用 创建.java.policy文件的某些特定权限时,它可以正常工作,小程序也可以工作。播放 福尔摩斯的角色时,我想通了,这组权限包含
java.io.FilePermission
java.lang.RuntimePermission
+ permissions that are neccessary for applets.
是否有意义给你的人?它看起来像swt mozilla浏览器运行在某种 特定的SecurityManager,它忽略了应用程序本身已签名的事实,也标记 存在于我的jnlp文件中。
当我加载没有小程序的页面时,仍然提到需要两个权限才能显示 浏览器窗口。我想在没有任何.java.policy文件和 的情况下运行此应用程序,而无需在用户端进行额外设置。我感谢每一个建议。
预先感谢您。
Vojta开发