我正在将程序从JApplet迁移到Java Web Start,我遇到了安全问题。 我的程序是用我公司的证书签名的,我还将我的站点添加到Java控制面板中的例外列表中,但它仍然给我这个错误:
我的Java异常站点列表:
我的JNLP文件如下所示:
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="http://10.13.3.68:8000/"
href="myapp.jnlp">
<information>
<title>My app</title>
<vendor>My Company</vendor>
<description>My description</description>
</information>
<resources>
<j2se version="1.8+"/>
<jar href="myapp.jar" main="true"/>
<jar href="myappResources.jar"/>
</resources>
<application-desc
main-class="MainForm"
/>
</jnlp>
我使用java 1.8.0_73。 Jar文件由jarsigner
正确签名。您是否知道如何在没有此错误的情况下使用Web Start启动应用程序? HTTP服务器在我的本地PC上。当我尝试与JNLP一样的小型“Hello World”应用程序(它们甚至没有签名!)时,他们工作了。我不知道为什么我这个程序会出错。
答案 0 :(得分:1)
更改我的jar清单文件属性后:
Codebase: *
Caller-Allowable-Codebase: *
将这些行添加到我的JNLP文件中:
<security>
<all-permissions/>
</security>
它开始工作了。
问题可能是我有
Permissions: all-permissions
在我的清单文件中,我没有在JNLP文件中设置适当的属性。
第二个问题是我忘记更改清单文件中的代码库 - 我在那里有特定的IP,我不再使用了。