首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Java小程序清单-允许所有调用者-允许的代码库

Java小程序清单-允许所有调用者-允许的代码库
EN

Stack Overflow用户
提问于 2013-10-16 09:32:19
回答 11查看 39.5K关注 0票数 65

从Java 7u45开始,如果网页试图通过javascript与applet交互,并且该页面没有列在清单的Caller-Allowable-Codebase属性中,applet将显示一条警告消息(即使用可信证书签名)。

有关此更改的发行说明:http://www.oracle.com/technetwork/java/javase/7u45-relnotes-2016950.html

Oracle关于此错误的博客文章:https://blogs.oracle.com/java-platform-group/entry/7u45_caller_allowable_codebase_and

属性说明:http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#caller_allowable

我只尝试了一个通配符(*),但仍然收到警告。

除了列出它可能运行的所有代码库之外,还有其他方法可以解决这个问题吗?

这对我来说是一个问题的原因是,这个小程序运行在许多不同的机器和网络上,但总是在不同位置的内部网上。这个applet还需要与javascript通信,因为它与本地USB scales通信,并显示结果并与页面交互。

有问题的小应用程序:https://github.com/JaggedJax/CIO_Scale

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2013-10-16 16:53:35

移除Trusted-Library属性似乎是让Caller-Allowable-Codebase正常工作的强制性要求,没有更多的警告。然而,这破坏了Java7Update21- 40,后者将调用以所有权限运行的签名小程序中的代码的JavaScript代码视为混合代码,如果签名的JAR文件没有使用Trusted-Library=true属性标记,则会引发警告对话框。

票数 26
EN

Stack Overflow用户

发布于 2013-10-16 17:56:22

我的发现是一样的:

这可以防止Java 7u21 -7u40出现警告:

Manifest-Version: 1.0
Trusted-Library: true

这独占地阻止了Java 7u45的警告:

Manifest-Version: 1.0
Application-Library-Allowable-Codebase: *
Caller-Allowable-Codebase: *

在7u45中,两者混合不起作用。

这次又是什么?有没有人找到了一种方法,允许在两个JRE版本中运行具有“所有权限”的签名小程序而不出现警告?

甲骨文到底怎么了?

票数 35
EN

Stack Overflow用户

发布于 2013-10-21 17:11:44

根据oracle的博客文章,这个问题将在未来的版本中得到修复:

https://blogs.oracle.com/java-platform-group/entry/7u45_caller_allowable_codebase_and

他们认识到错误“这两个属性应该协同工作以支持不同版本的客户端安装”。但就目前而言,他们的解决方案是:“目前的解决方案是倾向于使用Caller-Allowable-Codebase而不是旧的Trusted-Library调用。”

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19393826

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档