Java小程序警告澄清

3
我正在部署一个Java小程序,使用JNLP。程序的功能正常,但是在运行时出现了安全警告。我已经广泛搜索了关于何时以及为什么会出现这些警告的答案,但没有得到充分的解答,所以我想在这里寻求一些答案。
前提条件: 我的小程序使用自签名证书进行签名,并且也作为受信任的CA导入(显示“更安全”的警告)。在生产中,我将使用来自Thawte或Verisign的真实证书,但现在这应该足够了。 不需要外部权限,只能通过JNLP访问磁盘。
因为我想要使用FileSaveService和FileOpenService,所以我在JNLP文件的安全部分中指定了j2ee-application-client-permissions标签。
Javascript用于调用小程序中的公共函数。
目前情况如下: 当小程序加载时,我会收到一个安全提示,警告我此小程序将以无限制的方式访问系统。警告是可信的,具有蓝色信息显示而不是黄色警告。我为什么会收到这个警告?即使我坚持只使用JNLP库,这个警告是否总是会出现?如何确定这个警告,是通过扫描我的代码还是通过阅读我可以更改的某些设置?是否有允许运行而不出现此警告的类别列表?
一旦小程序加载完成,我尝试打开文件对话框时会再次收到提示,称应用程序已请求读/写权限。
我认为后面的警告是JNLP警告,因为它在我开始使用JNLP时首次出现。为什么我在启动和使用过程中都会收到提示?我需要两者吗?一旦我拥有适当的证书,我是否会得到两者?
最重要的是,我想摆脱第一个警告,因为它看起来相当可怕,允许我的小程序以无限制的方式运行(特别是因为这根本不是我的意图!)。是否有任何文档可以澄清触发警告的原因以及如何处理它们?
编辑: 该文件经过Janela验证,没有错误。一切都按照预期启动,我只是想了解警告的情况。
<script>
var attributes = {
    id:'id',
    codebase:'www.mydomain.com/jars/',
    width:1, 
    height:1, 
    name:"Name"
};
var parameters = {
    jnlp_href:"www.mydomain.com/jars/jnlp.jnlp"
}                       
    deployJava.runApplet(attributes, parameters, '1.6');
</script>

JNLP文件
<?xml version="1.0" encoding="UTF-8"?>
    <jnlp spec="1.0+" href="/jars/jnlp.jnlp">
    <information>
    <title>Title</title>
    <vendor>My Company</vendor>
    <description>Description</description>
    <description kind="short">Desc</description>
    <offline-allowed />
    </information>

    <resources>
    <j2se version="1.6+" />
    <jar href="ext1.jar" main="false" download="eager"/>
    <jar href="ext2.jar" main="false" download="eager" />
    <jar href="mainJar.jar" main="true" download="eager"/>
    </resources>
    <applet-desc 
    name="name"
    main-class="com.myCompany.applet.mainClass" 
    width="1"
    height="1">
    </applet-desc>
<security>
    <j2ee-application-client-permissions/>
</security>
 </jnlp>

JS attributesarchivecode 名称/值对在哪里?如果您将一个普通的未签名小程序(例如兼容性小程序)放入 HTML 中(而不是包含任何已签名的 Jars),会发生什么?据我所记,如果 HTML 中引用了任何已签名的 Jars,则它们将由 JRE 提示进行安全检查。 - Andrew Thompson
这个(自由浮动的)JWS API file services demo的行为是什么?不要尝试沙盒版本,上面的链接需要j2ee-application-client-permissions。它(不幸地)在初始安全警告时给出了相同的“无限制访问”消息,我希望它会更温和/有限 - 也许是“有限访问”。点击“运行”(但不要点击“始终信任此发布者的内容”)后,应用程序出现在屏幕上,既不会出现“打开”按钮也不会出现“保存文件”按钮引起进一步提示。正在使用1.6.0_29进行测试。 - Andrew Thompson
这些警告是如何工作的,没有文档说明?虽然不是针对IceTea而是官方JRE,但似乎非常奇怪,因为这些警告会影响用户体验。我的小程序需要无限制访问是如何评估的?关于这个例子,我会调查一下并回复您。 - Erik
你可以从这个文档开始,j2ee-application-client-permissions表示“请求以符合J2EE应用程序客户端环境安全规范的权限集运行RIA”。 - Andrew Thompson
显示剩余7条评论
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接