【问题标题】:Applet AWTPermission小程序 AWT 权限
【发布时间】:2013-09-07 15:16:53
【问题描述】:

我做了一个小程序,如果将权限添加到 java.policy 就可以运行(见下文)。

permission java.awt.AWTPermission "createRobot";
permission java.awt.AWTPermission "readDisplayPixels";
permission java.awt.AWTPermission "accessClipboard"; 
permission java.awt.AWTPermission "accessEventQueue"; 
permission java.awt.AWTPermission "showWindowWithoutWarningBanner";

否则java控制台会显示:

java.security.AccessControlException: 拒绝访问("java.awt.AWTPermission" "createRobot")

由于用户不想修改策略文件,如何以产品方式做到这一点?

另外,小程序已经被签名,下面的文件被放到服务器中。

ScreenShot.cer
ScreenShot.store
ScreenShot.jar
ScreenShot.policy

HTML 标签:

<applet name="SnapShot" archive="ScreenShot.jar" codebase="." code="ScreenShot.class" width="1" height="1" mayscript="true">
    <param name="cache_archive" value="ScreenShot.jar">
    <param name="java_arguments" value="-Dsun.java2d.noddraw=true">
    <param name="permissions" value="all-permissions">
</applet>

【问题讨论】:

  • “我已经完成了小程序签名” 这是否意味着您对小程序进行了数字签名? “..并将下面的文件放入服务器。” 需要在服务器上的这 4 个文件中唯一的文件是 myApplet.jar。其余的都是多余的。但只是注意到myApplet.jarScreenShot.jar 之间的区别。描述这些事情时不要转述。是第一个名字还是第二个?
  • 这是一个错误;实际上,它应该是 ScreenShot.jar。我刚刚更正了。谢谢提醒
  • OK.. 再说一遍,这是否意味着您对小程序进行了数字签名?
  • 是的,确实如此。但是 AWTPermission 仍然很糟糕
  • 罐子有多大?你能把它上传到我可以下载的地方(检查数字签名)吗?

标签: java applet awt


【解决方案1】:

这个问题重复了一个从这里我发布答案的地方:

java.security.AccessControlException when using java.awt.Robot class for screen capture in applet

【讨论】:

    猜你喜欢
    • 2010-10-11
    • 2014-03-22
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 2011-12-16
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多