Wil*_*m W 65 java applet manifest signed-applet
从Java 7u45开始,如果网页尝试通过javascript与其进行交互,并且该页面未在清单的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
我只尝试了一个通配符(*),但我仍然收到警告.
除了列出它可能运行的所有代码库之外,还有其他方法吗?
这对我来说是个问题的原因是这个小程序在许多不同的机器和网络上运行,但总是在不同位置的内部网上运行.这个小程序还需要与javascript通信,因为它与本地USB秤对话并显示结果并与页面交互.
fif*_*ffy 35
我的发现是一样的:
这可以防止使用Java 7u21 - 7u40发出警告:
Manifest-Version: 1.0
Trusted-Library: true
Run Code Online (Sandbox Code Playgroud)
这样可以防止使用Java 7u45发出警告:
Manifest-Version: 1.0
Application-Library-Allowable-Codebase: *
Caller-Allowable-Codebase: *
Run Code Online (Sandbox Code Playgroud)
混合两者在7u45不起作用.
怎么办?有没有人找到一种方法来允许具有"所有权限"的SIGNED小程序在两个JRE版本中都没有警告的情况下运行?
甲骨文到底怎么了?
小智 26
删除Trusted-Library属性似乎必须使Caller-Allowable-Codebase正常工作,不再需要警告.但是,如果签名的JAR文件没有使用Trusted-Library = true属性标记,则会破坏Java 7 Update 21 - 40,它会处理调用带有所有权限的已签名applet中的代码的JavaScript代码,因为会出现混合代码和警告对话框.
vba*_*ail 10
根据oracle博客文章,这将在未来版本中修复:
https://blogs.oracle.com/java-platform-group/entry/7u45_caller_allowable_codebase_and
他们认识到错误"这两个属性应该协同工作以支持各种版本的客户端安装".但就目前而言,他们的解决方案是:"目前的解决方案是支持使用Caller-Allowable-Codebase而不是旧的Trusted-Library调用."
小智 6
我遇到过同样的问题.我的解决方案是在清单中使用相同的参数,就像Oracle在applet中的donwload页面上使用的验证java版本http://www.java.com/en/download/installed.jsp 他们的applet不会弹出任何警告.
所以解决方案是:
清单 - 版本:1.0
代码库:*
权限:所有权限
Application-Library-Allowable-Codebase:*
Caller-Allowable-Codebase:*
Application-Name:APPNAME
适用于:
1.7.0_17-b02
1.7.0_25-b17
1.7.0_45- b18
来自oracle:
区域:部署/插件概要:与Trusted-Library一起使用时,可以忽略Caller-Allowable-Codebase.
如果受信任的签名jar使用Caller-Allowable-Codebase清单属性以及Trusted-Library,则将忽略Caller-Allowable-Codebase清单条目,因此,JavaScript - > Java调用将显示本机LiveConnect警告.解决方法是删除Trusted-Library清单条目.
http://www.oracle.com/technetwork/java/javase/7u45-relnotes-2016950.html