我正在努力获得90%闪存的Web应用程序,但也有两个小程序可以正常使用Java 7 Update 45.最初的开发目标是Java 6 Update 21.最初,applet被部署为未签名的jar容器
在这个应用程序中,Flash本身使用ExternalInterface.call进入JavaScript,它将LiveConnect调用到applet中,然后使用JNI调用它已加载的dll,然后调用JavaScript来调用applet状态的通知。
到目前为止,我采取了以下步骤:
更新清单文件以指定Codebase,Caller-Allowable-Codebase,Application-Library-Allowable-Codebase
获取jar签名的根CA证书,并签署更新的jar。
将根CA公共证书安装到Windows证书管理器和Java Keystore中。
完成所有这些更改后,应用程序在2种情况下正常运行。
如果我尝试使用没有DeploymentRuleSet.jar的下一代JavaPlugin运行应用程序,则Web应用程序会锁定。
有人可以解释一下为什么applet在没有部署规则集的情况下使用下一代JavaPlugin无法正常运行?
清单属性:
<attribute name="Codebase" value="https://gsgs:8443/GSUI"/>
<attribute name="Caller-Allowable-Codebase" value="https://gsgs:8443/GSUI"/>
<attribute name="Application-Library-Allowable-Codebase" value="https://gsgs:8443/GSUI"/>
<attribute name="Permissions" value="all-permissions"/>
部署规则集:
<ruleset version="1.0+">
<rule>
<id location="https://gsgs:8443/GSUI"/>
<action permission="run" version="SECURE"/>
</rule>
</ruleset>