签名的Java Applet访问被拒绝java.io.FilePermission读取

时间:2016-01-16 17:51:27

标签: java applet accesscontrolexception

我为电子签名创建了一个java applet。当我在ide(intelliJ)上运行时,Applet运行正常并且工作正常。但是当我将项目部署到.jar文件并尝试在浏览器(firefox)上运行时,我得到一些错误,说.jar是不可信的。然后我做了一些研究并用jarsigner签了我的小程序。我采取了以下步骤:

  • keytool -genkey -keyalg rsa -alias MyCert

  • keytool -certreq -alias MyCert

  • jarsigner C:\ TestApplet.jar MyCert

还在oracle网站上尝试了命令。link here

我签署了我的applet错误后,我可以运行我的applet。但是当我尝试签署文件时,我收到一条错误消息,说applet没有permision来访问cert store文件夹。错误是:

java.security.AccessControlException:拒绝访问(" java.io.FilePermission"" C:\ Users \ ChooseClick.sertifikadeposu""阅读" )

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。要能够在java上访问文件或任何其他受限操作,您必须使用prilivaged blocks:

    AccessController.doPrivileged(new PrivilegedAction() {
    public Object run() {
       //actions that need permission goes here

        return null;
    }
  });

您可以在任何功能中使用此块。